new
描述
new()是Go的内置函数。其作用是初始化一个指向类型的指针(*T),使用new()来分配内存空间,返回值是一个指向新分配类型零值的指针。
注意
① new()的参数是一个类型而不是一个值。
② new创建的内存空间位于heap上。
③ new(T) 和 &T{}是等效的。
语法
func new(Type) *Type
使用示例
p := new(int) //p is '*int'
make
描述
make()是Go的内置函数。其作用是为 slice、map、chan 类型分配内存并返回一个初始化后的对象(引用)。
语法
func make(t Type, size ...IntegerType) Type
使用示例
// 创建slice
// 说明:cap可以被省略,省略后默认cap等于len
make([]Type, len, cap)
// 创建map
// 说明:size可以被省略
make(map[keyType]valueType, size)
// 创建chan
// 说明:size可以被省略,省略后为同步管道,不省略为异步管道
make(chan Type, size)