首页 > 后端开发 > Golang > 正文

Go Map 初始化:`make` 比 `{}` 更快吗?

Barbara Streisand
发布: 2024-10-26 21:28:02
原创
364 人浏览过

 Go Map Initialization: Is `make` Faster Than `{}`?

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!