go语言中什么时候使用make或者new

2023-06-01 00:00:00 语言 什么时候

举例说明

new:

想象一下new某人创建了一个空盒子并将空盒子的方向(指针或地址)指向您。


make:

并且make作为创建一个填充了您定义的值并将非空框传递给您的框的人...不是指针或地址。


使用new场景:

1.创建一个新文件并将数据保存到新文件

2.为您创建或分配一个新缓冲区来存储一些数据,操作缓冲区,然后将数据刷新到其他地方,例如管道。


使用make场景:

1.使用映射、切片和通道,并希望直接操作其中的数据,而不是指针或地址。

2.用初始值预填充地图、切片和通道。

3.在运行时指定大小或增加/减少映射或切片的大小。


总结

new就是等于带指针的空框,make就是等于没有指针的填充框


官方手册:

https://golang.org/doc/effective_go.html#allocation_new

相关文章