Go 中 Map 初始化方法的性能比较
Golang 中初始化 Map 时,常见的做法有两种:使用 make 或大括号 { }。本文研究了这些方法之间任何潜在的性能差异。
使用 make 初始化
<code class="go">myMap = make(map[string]int)</code>
使用大括号初始化
<code class="go">myMap = map[string]int{}</code>
性能基准
进行基准测试来比较这两种方法的性能。使用以下代码:
<code class="go">package bench import "testing" var result map[string]int func BenchmarkMakeLiteral(b *testing.B) { var m map[string]int for n := 0; n < b.N; n++ { m = InitMapLiteral() } result = m } func BenchmarkMakeMake(b *testing.B) { var m map[string]int for n := 0; n < b.N; n++ { m = InitMapMake() } result = m } func InitMapLiteral() map[string]int { return map[string]int{} } func InitMapMake() map[string]int { return make(map[string]int) }</code>
基准测试结果
多次基准运行在两种初始化方法之间产生的性能差异可以忽略不计。结果非常接近,可以认为是等效的。
结论
根据基准测试结果,使用 make 或花括号初始化映射之间没有显着的性能差异去。两种方法之间的选择取决于个人喜好或特定用例要求。
以上是以下是一些适合您的文章的基于问题的文章标题: * Go Map 初始化:`make` 还是大括号更快? * 地图性能对决:Golang 中的 `make` 与大括号 * 哪个W的详细内容。更多信息请关注PHP中文网其他相关文章!