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中文網其他相關文章!