Go 言語では、マップを使用してキーと値のペアを保存し、アクセスすることが簡単にできます。 Map は、順序付けされていないデータを保存するために使用できるコレクション タイプであり、キーを通じて値にすばやくアクセスできます。この記事では、golangで地図を取得するさまざまな方法を紹介します。
通常の状況では、添字を使用してマップ内の値を取得できます。例は次のとおりです:
m := make(map[string]string) m[“a”] = “apple” m[“b”] = “banana” fmt.Println(m[“a”]) // apple fmt.Println(m[“b”]) // banana
We マップ内の値にアクセスするには、[key] 形式のみを使用する必要があります。ここで、key はマップに保存されているキー名である必要があります。キーが存在しない場合は、その値に対応する型のゼロ値が返されます。
特定のキーがマップ内に存在するかどうかをより正確に判断する必要がある場合は、ok-idiom を使用できます。例は次のとおりです。
m := make(map[string]string) m[“a”] = “apple” m[“b”] = “banana” value, ok := m[“c”] if ok { fmt.Println(value) // 不会被触发 } else { fmt.Println(“key c does not exist”) }
ここでは、ok-idiom が if 条件の拡張形式のようなもので、マップ内に特定のキーが存在するかどうかを判断するために使用できることがわかります。キーがマップ内に存在する場合、ok の戻り値は true になり、対応する値が取得されます。それ以外の場合は、else 分岐ステートメントを使用してエラー メッセージを出力する必要があります。
場合によっては、マップ全体を走査してから、マップ内のすべてのキーと値のペアにアクセスする必要があります。 for-range ループを使用します。例は次のとおりです。
m := make(map[string]string) m[“a”] = “apple” m[“b”] = “banana” for key, value := range m { fmt.Printf(“%s -> %s ”, key, value) }
ここでの for-range ループは、他の言語の foreach ループに非常によく似ており、マップ内の各キーと値のペアに反復的にアクセスするために使用されます。 。ループ内でキー変数名と値変数名を個別に指定するには、特別な構文を使用する必要があります。反復プロセス中に、各キーと値のペアのデータを順番に取得し、キーと値の方法で処理できます。
要約すると、上記は golang でマップを取得するために一般的に使用されるいくつかの方法です。シナリオごとに、マップ データを取得してアクセスするための対応する方法を選択できます。コードを記述する際には、実際の状況に応じて適切な方法を選択し、エラーを処理してください。
以上がGolangで地図を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。