ホームページ >バックエンド開発 >Golang >Go マップでキー (および値) を反復してアクセスするにはどうすればよいですか?

Go マップでキー (および値) を反復してアクセスするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-03 17:18:19776ブラウズ

How Do I Iterate and Access Keys (and Values) in Go Maps?

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 サイトの他の関連記事を参照してください。

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