new和make
1. new 和 make 都用于分配内存;
2. new 对指针类型分配内存,返回值是分配类型的指针,new也可以对 slice 、map、channel 分配内存;但多用于自定义的结构体
3. make 仅用于 slice、map和 channel 类型的初始化分配内存空间,返回值为类型本身,而不是指针;
4、new分配的返回的时指针,即类型*T;make返回引用,即T;
一、示例
package main import "fmt" func main() { a := make([]int, 3, 10) a = append(a, 1) fmt.Printf("%v,%T\n", a, a) b := new([]int) *b = append(*b, 10) fmt.Printf("%v,%T\n", b, b) } 输出: [0 0 0 1],[]int &[10],*[]int
标签:10,int,make,golang,分配内存,new,指针 From: https://www.cnblogs.com/wushaoyu/p/16182541.html