Go语言中 new 和 make 是两个内置函数,主要用来创建并分配类型的内存
那啥时候用make,啥时候又用new呢?
先看看官方文档对两者的描述:
总结一下它们之间的区别:
make 只能用来分配及初始化类型为 slice、map、chan 的数据。new 可以分配任意类型的数据
new 分配返回的是指针,即类型 *Type。make 返回引用,即 Type
也就是说,当我们初始化slice、map、chan时,一般用make函数:
new函数也挺方便的,特别是要得到匿名结构体指针的时候:
Go语言中 new 和 make 是两个内置函数,主要用来创建并分配类型的内存
那啥时候用make,啥时候又用new呢?
先看看官方文档对两者的描述:
总结一下它们之间的区别:
make 只能用来分配及初始化类型为 slice、map、chan 的数据。new 可以分配任意类型的数据
new 分配返回的是指针,即类型 *Type。make 返回引用,即 Type
也就是说,当我们初始化slice、map、chan时,一般用make函数:
new函数也挺方便的,特别是要得到匿名结构体指针的时候: