Go 中的映射初始化:make 与 {}
在 Go 中,可以使用 {} 文字语法或使函数。本文比较了这两种方法的性能。
性能差异
基准测试表明,使用 {} 或 make 初始化映射之间的性能差异可以忽略不计。结果可能会因数据集大小和机器规格而略有不同,但一般来说,两种方法的性能相当。
基准代码
以下代码定义了两个基准函数, BenchmarkMakeLiteral 和 BenchmarkMakeMake,分别比较了使用 {} 文字和 make 函数初始化地图的性能:
<code class="go">package main import "testing" func BenchmarkMakeLiteral(b *testing.B) { var m map[string]int for n := 0; n < b.N; n++ { m = InitMapLiteral() } } func BenchmarkMakeMake(b *testing.B) { var m map[string]int for n := 0; n < b.N; n++ { m = InitMapMake() } } func InitMapLiteral() map[string]int { return map[string]int{} } func InitMapMake() map[string]int { return make(map[string]int) }</code>
结论
基于基准测试结果,使用 {} 文字或 make 函数初始化映射之间没有显着的性能差异。初始化方法的选择应该根据个人喜好或者程序的具体要求。
以上是Go Map 初始化:`make` 比 `{}` 更快吗?的详细内容。更多信息请关注PHP中文网其他相关文章!