创建地图重要吗?
在 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中文网其他相关文章!