首页 >后端开发 >Golang >Go 切片:'var”或'make”——哪种声明最好?

Go 切片:'var”或'make”——哪种声明最好?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-03 20:19:39318浏览

Go Slices: `var` or `make` – Which Declaration is Best?

声明一个部分:var 还是 make?

在 Go 中,部分是一种重要的数据结构。然而,有两种不同的方式来声明一个部分:

var s []int

这个声明创建了一个无价值的部分,即一个没有价值的部分。存储任何元素。 s 的参考值为 nil。

s := make([]int, 0)

该语句创建一个空切片,即带有零元素但分配了内存。 s 的引用值不为 nil。

有什么区别?

这两个声明的主要区别是 var 声明了无值部分,而 make 分配了内存对于一个空块。使用 var 创建一个块,该块最初没有分配给它的存储空间。在分配内存之前,切片中不能存储任何元素。

另一方面,make 会为空切片分配内存,这意味着元素可以立即存储在其中。但是,初始份量为零,因此如果要存储更多物品,增加份量非常重要。

最佳选择是什么? ​​

如果您不知道要使用的部分的确切大小,通常建议使用 var 来声明部分。这允许切片根据需要动态增长和调整大小。

如果已知切片的确切大小,使用 make 会更有效,因为它会立即分配内存并避免超载创建无价值的切片。部分。

以上是Go 切片:'var”或'make”——哪种声明最好?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn