8.5 make 函数
与 new(T) 相反,内置函数 make(T, args) 仅用于创建切片、Map和Channel。make 函数分配内存,并返回类型 T 的初始化值(而不是 *T)。
对于切片、Map 和Channel,make 初始化内部数据结构并准备好该值的使用。
例如,make([]int,10,100) 分配了一个长度为 100 的 int 数组,然后创建了一个指向数组的前 10 个元素的长度为 10、容量为 100 的切片结构。
相比之下,new([]int) 返回指向新分配的、归零的切片结构的指针,即指向 nil 切片值的指针。
最后更新于