首页 >后端开发 >Golang >在 Go 中创建地图时,'map”或'make”重要吗?

在 Go 中创建地图时,'map”或'make”重要吗?

Patricia Arquette
Patricia Arquette原创
2024-12-01 05:57:11603浏览

Does `map` or `make` Matter When Creating Maps in Go?

创建地图重要吗?

在 Go 中创建地图时,开发者有两个选择:

var m = map[string]int{}
var m = make(map[string]int)

虽然前者看起来像是更快字段初始化的捷径,但这两个选项都有微妙的作用

Map Literals 与 make

第一种形式是 Map Literals 的特殊情况,它允许使用特定键创建非空映射 -值对。例如:

m := map[bool]string{false: "FALSE", true: "TRUE"}

相反,使用 make 的第二种形式总是创建一个空映射。它相当于没有初始值的地图文字,例如:

m := map[string]int{}

初始容量

两种方法之间的主要区别在于能够指定初始容量。 make 允许您为特定数量的项目分配空间,即使它们最初并未分配。如果您预计地图会显着增长,这可以帮助减少未来的分配。例如:

m := make(map[string]int, 50)

这将创建一个具有足够空间容纳 50 个项目的地图,随着地图的扩展,可能会减少分配。

最佳实践

一般情况下,两种方法的选择要根据情况而定。如果您要创建一个性能并不重要的空地图,则任一选项都足够。但是,如果您预计地图很大或想要设置初始容量,建议使用 make。

以上是在 Go 中创建地图时,'map”或'make”重要吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

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