Go マップでのキーの列挙
Go マップは、他のマップ データ構造と同様に、キーに基づいて値への効率的なアクセスを提供します。ただし、すべてのマップ キーを含む操作を実行するには、これらのキーのリストが必要になる場合があります。
マップ キーの反復
幸いなことに、Go マップには組み込みメカニズムが提供されています。すべてのキーを反復処理します。 range ステートメントをマップとともに使用すると、キーと対応する値の両方にアクセスできます。
次の例を考えてみましょう。
m := map[string]string{"key1": "val1", "key2": "val2"}
すべてのキーを反復処理するには、次の構文を使用できます。 :
for k, _ := range m { // Process key k }
ここでは、アンダースコア文字 (_) が値のプレースホルダーとして使用されており、値に興味がないことを示しています。
あるいは、キーと値の両方にアクセスする必要がある場合は、range ステートメントを次のように使用できます。
for k, v := range m { // Process key k and value v }
この例では、k はキーを表し、v は各反復に対応する値を表します。
追加の考慮事項
Go のマップ キーは本質的に一意であることに注意することが重要です。そのため、range ステートメントによって返されるキーの順序は一貫していることが保証されません。キーの順序が重要なシナリオでは、キーの順序を保持する別のデータ構造 (スライスやリストなど) の使用を検討してください。
以上がGo マップでキー (および値) を反復してアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。