golang学习笔记---make与new

make与new区别:

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

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

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

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

 

posted on 2020-09-02 09:33  清明-心若淡定  阅读(148)  评论(0编辑  收藏  举报