
//切片申请内存
s1 := make([]int, 5, 10)
//map申请内存
m1 = make(map[string]int, 10)
//指针申请内存
var a = new(int) //a为0x342112910
make
make也是用于内存分配的,区别于new,它只用于slice、map、chan的内存创建
而且它返回的类型就是这三个类型本身,而不是他们的指针类型
因为这三种类型就是引用类型,所以就没有必要返回他们的指针了
make和new的区别
- 1.make和new都是用来申请内存的
- 2.new很少用,一般用来给基本数据类型申请内存,string、int等,返回的是对应类型的指针*string、*int
- 3.make用于给slice、map、chan申请内存,make函数的返回的是这三个类型本身