Go でのマップの初期化: make と {}
Go では、{} リテラル構文または関数を作成します。この記事では、これら 2 つのアプローチのパフォーマンスを比較します。
パフォーマンスの違い
ベンチマーク テストによると、{} を使用してマップを初期化する場合と make を使用してマップを初期化する場合とでは、パフォーマンスの違いは無視できる程度です。結果はデータセットのサイズとマシンの仕様によって若干異なる場合がありますが、一般に、両方の方法は同等に実行されます。
ベンチマーク コード
次のコードは 2 つのベンチマーク関数を定義します。 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 マップの初期化: `make` は `{}` より速いですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。