Go 语言中的 make 和 new

当我们想要在 Go 语言中初始化一个结构时,其实会使用到两个完全不同的关键字,也就是 make 和 new,同时出现两个用于『初始化』的关键字对于初学者来说可能会感到非常困惑,不过它们两者有着却完全不同的作用。在 Go 语言中,make 关键字的主要作用是初始化内置的数据结构,也就是我们在前面提到的数组和切片、哈希表和 Channel,而当我们想要获取指向某个类型的指针时其实可以使用 new 关键字,只是知道如何使用 new 的人真的比较少,我们在这一节中就会介绍 make 和 new 它们的区别以及实现原理。 »