golang 内置函数new()

 

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分配后,会进行初始化。

  

posted on 2017-04-29 17:22  海风吹  阅读(796)  评论(0编辑  收藏  举报

导航