new 和 make都是Go语言的两个内建函数,用于分配内存


new 一般用来返回指针类型(一般不用),make返回引用类型(map, slice,chan 这三个引用)


var 声明的 基本类型和struct这种已经分配了内存,并且赋零值了



参考


https://blog.csdn.net/qq_43778308/article/details/115839978


var 只是声明变量,并未分配内存地址 而 make 和 new 不仅是声明了变量,还初始化了内存地址


make 多数用于声明slice,map 等 是返回变量本身


new 一般用来声明结构体,是返回声明变量的指针