Golang中 new与make的区别
1、new (T) 为每个新的类型 T 分配一片内存,初始化为零值,并且返回类型为 * T 的内存地址,这种方法返回一个指向类型为 T,值为 0 的地址的指针,它适用于值类型如数组和结构体;它相当于 &T{}。
2、make(T) 返回一个类型为 T 的初始值,它只适用于 3 种内建的引用类型:slice、map 和 channel类型。
1、new (T) 为每个新的类型 T 分配一片内存,初始化为零值,并且返回类型为 * T 的内存地址,这种方法返回一个指向类型为 T,值为 0 的地址的指针,它适用于值类型如数组和结构体;它相当于 &T{}。
2、make(T) 返回一个类型为 T 的初始值,它只适用于 3 种内建的引用类型:slice、map 和 channel类型。