Go语言new()和make()的区别
在Go语言中,new() 函数和 make() 函数有什么区别?
make() 函数是内建函数,函数定义的格式如下:
new() 函数
new() 函数的作用是初始化一个指向类型的指针(*T),new() 函数是内建函数,函数定义的格式如下:func new(Type) *Type通常使用 new() 函数来分配空间。传递给 new() 函数的是一个类型,不是一个值。返回值是指向这个新分配的零值的指针。
make() 函数
make( )函数的作用是为 slice()、map() 或 chan() 初始化并返回引用的 T。make() 函数是内建函数,函数定义的格式如下:
func make(Type, size IntegerType) Type说明:
- 第一个参数是一个类型,第二个参数是长度。
- 返回值是一个类型。