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

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

Patricia Arquette
发布: 2024-12-01 05:57:11
原创
601 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板