golang学习笔记---make与new

make与new区别:

make是专门用来创建slice、 map、channel的值的.它返回的是被创建的值,并且立即可用

new是申请一小块内存并标记它是用来存放某个值的.它返回的是指向这块内存的指针,而且这块内存并不会被初始化. 或者说,对于一个引用类型的值,那块内存虽然已经有了,但还没法用

(因为里面还没有针对那个值的数据结构)

所以,对于引用类型的值,不要用new,能用make就用make, 不能用make的就用复合字面量来创建.

原文地址:https://www.cnblogs.com/saryli/p/13600056.html