ホームページ >バックエンド開発 >Golang >Go マップからキーのスライスを効率的に取得するにはどうすればよいですか?

Go マップからキーのスライスを効率的に取得するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-21 12:43:23183ブラウズ

How Can I Efficiently Retrieve a Slice of Keys from a Go Map?

Go マップからキーのスライスを取得する

Go マップからキーのスライスを取得するには、マップを反復処理します。そして手動でキーをスライスにコピーします。このアプローチは簡潔ですが、追加のメモリ割り当てと不必要なコピーが必要です。

再割り当てを排除するより効率的な代替方法は、範囲ループ内でスライスのメンバーを直接割り当てることです。

keys := make([]int, len(mymap))

for i, k := range mymap {
    keys[i] = k
}

Byスライスの容量を事前に指定すると、キーを追加または削除する機能を維持しながら、再割り当てのオーバーヘッドを回避できます。このアプローチは、特に大規模なマップの場合、より効率的です。

以上がGo マップからキーのスライスを効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。