make
函数声明
func make(t Type, size ...IntegerType) Type
内建函数make 主要为slice,map, channel做分配空间和初始化。
make的返回值和它传入的第一参数类型一致,返回的不是指针
1 第一个参数是Slice:若第一个参数类型后只有一个参数,这个参数size表示slice的长度,且其capacity和length相等;若第一个参数后面有两个参数,第一个表示slice的length,第二个表示capactiy。且第一个参数必须是小于等于第二个参数.实例代码如下
s := [5]{1,2,3,4,5}
s1 := s[i:j:k] // j-i 表示切片长度 k-i表示capacity
append
内建函数append声明
func append(slice []Type, elems ...Type) []Type
append追加elems到slice的末尾
若如追加元素后,超过slice的容量,append会为其重新分配内存
new
内建函数new声明
func new(Type) *Type
new 函数返回的是一个指针,不是值,适用范围比make广,make主要用于slice、map、channel
new(T) 会为 T 类型的新值分配已置零的内存空间,并返回地址(指针),即类型为 *T 的值