make、new操作

makemapslicechannelnew
newnew(T)T*TT
new
make(T, args)new(T)slicemapchannelT*Tslicearrayslicenilslicemapchannelmake
make
newmake

图2.5 make和new对应底层的内存分配

零值

关于“零值”,所指并非是空值,而是一种“变量未填充前”的默认值,通常为0。 此处罗列 部分类型 的 “零值”

代码示例:

输出:

 

参考资料:

golang语言中map的初始化及使用: http://studygolang.com/articles/2379

Go语言中new()和 make()的区别详解: http://www.jb51.net/article/56837.htm

golang深度拷贝map: http://blog.csdn.net/xtxy/article/details/51837400

golang 内置函数new() 和struct{} 初始化的区别: http://studygolang.com/articles/3377

https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/02.2.md