Go的new跟make分配内存的区别

Go的new和make分配内存的区别
1.new(T)创建一个没有任何数据的类型为T的实例,并返回该实例的指针;
2.make(T, args)只能创建 slice、map和channel,并且返回一个有初始值args(非零)的T类型的实例,非指针。

var p *[]int = new([]int)   // 分配slice结构内存 : *p = nil
var v []int = make([]int, 100)  // 分配一个有 100 个整数的slice