Go でのマップ キーの効率的な取得
Go でマップを反復処理し、そのキーをスライスにコピーするのが一般的な方法です。キーの取得には、より効率的なアプローチがあります。
オリジナルアプローチ:
i := 0 keys := make([]int, len(mymap)) for k := range mymap { keys[i] = k i++ }
改善されたアプローチ:
1.容量の設定:
キー スライスの容量をマップの長さに設定することで、追加プロセス中の再割り当ての必要性を排除できます。
keys := make([]int, 0, len(mymap)) for k := range mymap { keys = append(keys, k) }
2.直接割り当て:
キーの数がわかっているため、追加の代わりに直接割り当てを使用でき、実行が速くなります。
keys := make([]int, len(mymap)) i := 0 for k := range mymap { keys[i] = k i++ }
パフォーマンスの比較:
直接割り当てアプローチは、他の方法よりも優れた最も効率的なキーの取得を提供します。多数のキーを含むマップを含む速度テスト。
以上がGo でマップ キーを取得する最も効率的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。