【Go言語】map(マップ)にキーが存在するか判定する方法は2番目の戻り値のbool値を確認するだけ

簡単なので結論だけ。

今回はGo言語でMapにキーが存在するかどうかを確認する方法です。

Go言語でマップにキーが存在するかどうかの判定のサンプルコード

// valに値、okに判定結果が入る
val, ok := someMap[key];

//valが不要の場合
_, ok := someMap[key];

// 処理をする場合
if val, ok := someMap[key]; ok {
    // キーがマップに存在し、その値がvalに格納されています
} else {
    // キーがマップに存在しません
}


// falseが不要なら
if val, ok := someMap[key]; ok {
    // some code
}

//具体的なサンプルコード
m := map[string]int{"apple": 150, "banana": 300, "lemon": 300}
if val, ok := m["banana"]; ok {
    fmt.Println("バナナ美味しい")
}

このコードではsomeMapはチェックしたいマップであり、keyは探しているキーです。val変数は、キーがマップに存在する場合にそのキーに関連する値が設定され、oktrueに設定されます。

キーがマップに存在しない場合は、okfalseに設定されます。

もしキーの値を取得する必要がなく単にキーがマップに存在するかどうかをチェックしたい場合は、_, ok := someMap[key]の構文を使用することもできます。

Go言語のスキルチェック

このほか、Go言語の細かいけど実践で役立つプログラミングのクイズを作ってみました!

 

\知識が身に付く、スキルチェックができる!/