Go 中的映射初始化:make 與{}
Go 中,初始化映射有兩種常用方法:使用{} 或製作方法()。雖然它們都會產生空映射,但存在一個問題,即這兩種方法之間是否存在任何效能差異。
為了研究這一點,讓我們建立一個基準測試來比較這兩種初始化技術:
<code class="go">package main 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 = map[string]int{} } result = m } func BenchmarkMakeMake(b *testing.B) { var m map[string]int for n := 0; n < b.N; n++ { m = make(map[string]int) } result = m } func main() { testing.Benchmark(BenchmarkMakeLiteral) testing.Benchmark(BenchmarkMakeMake) }</code>
在不同機器上運行基準測試結果一致,表明兩種初始化方法沒有顯著的性能差異。 {} 和 make() 的執行時間幾乎相同。
總之,雖然 {} 和 make() 方法都會產生空映射,但使用其中一種方法並沒有明顯的效能優勢。兩者之間的選擇可以根據個人喜好或具體要求。
以上是在 Go 中使用 `{}` 和 `make()` 初始化映射有效能差異嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!