簡単なので結論だけ。
今回は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
変数は、キーがマップに存在する場合にそのキーに関連する値が設定され、ok
はtrue
に設定されます。
キーがマップに存在しない場合は、ok
はfalse
に設定されます。
もしキーの値を取得する必要がなく単にキーがマップに存在するかどうかをチェックしたい場合は、_, ok := someMap[key]
の構文を使用することもできます。