对内置函数make和new的理解

make用于内建类型(map、slice 和channel)的内存分配。new用于各种类型的内存搜索分配。
new就是new ,跟所有语言的new一样的,make主要是用来处理chan 和数组切片

对于new出来的结构体会进行初始化,但是如果new一个切片类型的: new([]int),那么这个切片是没有底层数组的支持是不能使用的

如果new一个结构体里面有指针的话,那么这个指针类型初始值是nil,如果一个结构体里面还有其他的结构体,那么嵌套的结构体都会进行初始化。注意new返回的是指针类型,但是如果是make的话,返回的是引用

可以参考这个链接: https://zhidao.baidu.com/question/1496746195506493099.html

猜你喜欢

转载自blog.csdn.net/weixin_38104426/article/details/81147347