new关键字是用来分配内存的函数,new(Type)作用是为T类型分配并清零一块内存,并将这块内存地址作为结果返回。也就是说new(T)会为类型为T的新项分配已置零的内存空间,并返回它的地址。
在go中,返回一个指针,指针指向新分配的内存,类型为T类型的零值。
type Buf struct{
a int
b string
}
// 为Buf分配内存空间,返回是指针类型 type *p
p := new(Buf)
// q的类型是Buf类型
var q Buf
new关键字是用来分配内存的函数,new(Type)作用是为T类型分配并清零一块内存,并将这块内存地址作为结果返回。也就是说new(T)会为类型为T的新项分配已置零的内存空间,并返回它的地址。
在go中,返回一个指针,指针指向新分配的内存,类型为T类型的零值。
type Buf struct{
a int
b string
}
// 为Buf分配内存空间,返回是指针类型 type *p
p := new(Buf)
// q的类型是Buf类型
var q Buf