阅读量:0
在Go语言中,new
和make
都是用来分配内存的关键字,但它们的用法和作用对象不同。
new
关键字用来分配内存,并返回内存地址,主要用来分配值类型(如int、string、struct等)的内存。使用new
分配的内存会被初始化为零值。
// 使用new分配整型变量的内存 var i *int i = new(int)
make
关键字用来分配并初始化引用类型(如slice、map、chan等)的内存,返回的是该类型的引用。使用make
分配的内存会被初始化为类型的零值。
// 使用make分配切片的内存 s := make([]int, 0, 10)
总结来说,new
用于值类型的内存分配,make
用于引用类型的内存分配。