Go
golang

キーに関連付けられた値を返却する関数

GoではMapから値を取得する際に2つ目の返り値として、キーが存在するかのbooleanを返してくれる

var m = map[string]int{
    "zero": 0,
    "one":  1,
}

v, ok := m["zero"]

関数の返却値として、Mapの解決した値(val, ok)を返す場合は以下のようにする必要がある

OKなパターン
func fuga(index string) (val int, ok bool) {
    val, ok = m[index]
    return
}
ダメなパターン
// コンパイルエラーになる
func hoge(index string) (int, bool) {
    return m[index]
}