Go学习[尚硅谷]-06
经典项目 海量用户即时通讯系统
make 和new的区别
https://sanyuesha.com/2017/07/26/go-make-and-new/
https://www.kancloud.cn/gofor/golang-learn/2120511
小结
new(T) 返回 T 的指针 *T 并指向 T 的零值。
make(T) 返回的初始化的 T,只能用于 slice,map,channel。
new 只能传递一个参数,该参数为一个任意类型,可以是Go语言内建的类型,也可以是自定义的类型
那么 new 函数到底做了哪些事呢:
分配内存
设置零值
返回指针(重要)
make 函数
内建函数 make 用来为 slice,map 或 chan 类型(注意:也只能用在这三种类型上)分配内存和初始化一个对象
make 返回类型的本身而不是指针,而返回值也依赖于具体传入的类型,因为这三种类型就是引用类型,所以就没有必要返回他们的指针了
注意,因为这三种类型是引用类型,所以必须得初始化(size和cap),但是,不是置为零值,这个和new是不一样的。
实现接口的 方法 究竟是绑定在结构体上 还是绑在结构体指针上 对于方法调用来说并不相同。绑在指针上 结构体不能调用。
接口数组。

260

被折叠的 条评论
为什么被折叠?



