首頁 > 後端開發 > 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學習者快速成長!