Go でのマップの初期化: make と {}
Go では、マップを初期化する一般的な方法が 2 つあります: {} を使用するか、または作る()。どちらも空のマップになりますが、2 つのアプローチの間にパフォーマンスの違いがあるかどうかという疑問があります。
これを調査するために、2 つの初期化手法を比較するベンチマーク テストを作成しましょう。
<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>
異なるマシンでベンチマーク テストを実行すると、一貫した結果が示され、2 つの初期化方法の間に大きなパフォーマンスの違いがないことがわかります。 {} と make() の実行時間はどちらもほぼ同じになります。
結論として、{} メソッドと make() メソッドは両方とも空のマップを生成しますが、一方を使用した場合に他方と比べてパフォーマンス上の明らかな利点はありません。 。この 2 つの間の選択は、個人の好みまたは特定の要件に基づいて行うことができます。
以上がGo でマップを初期化するために `{}` を使用するのと `make()` を使用するのとの間にパフォーマンスの違いはありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。