new()
这是一个用来分配内存的内置函数,它的第一个参数是一个类型,不是一个值,它的返回值是一个指向新分配的 t 类型的零值的指针。
在golang的代码定义如下:
func new(t Type) *Type
strut{}
直接使用struct{} 来初始化strut时,返回的是一个struct类型的值,而不是指针两者是不一样的
golang的new和make主要区别如下:
1、make只能用来分配及初始化类型为slice,map,chan的数据;new可以分配任意类型的数据
2、new分配返回的是指针,即类型*T;make返回引用,即T;
3、new分配的空间被清零,make分配后,会进行初始化。