🔖

Golangの_ , ok句の使用例

2024/02/20に公開

このページでは、_,ok句の使用例について記述します。

_, ok句とは

Go言語において マップの要素の取得型アサーション などでよく使われる構文です。
この句は、第二の戻り値として 真偽値 を返すことで、操作が成功したかどうかを判定します。

具体的な使用例

  1. マップの要素の取得:
func main() {
    myMap := map[string]int{
        "apple":  5,
        "banana": 3,
        "cherry": 7,
    }

// マップから要素を取得
value, found := myMap["banana"]
    if found {
        fmt.Printf("Found value: %d\n", value)
    } else {
        fmt.Println("Key not found")
    }
}

このコードでは、myMap からキー "banana" の値を取得しています。found の値が true の場合、要素が見つかったことを示します。

  1. 型アサーション:
if str, ok := myInterface.(string); ok {
    fmt.Println("String value:", str)
} else {
    fmt.Println("Failed to assert as string type")
}

この例では、型アサーションでmyInterfaceをstringの型にキャストしています。キャストできなかった場合、strにはstringのゼロ値である空文字列が、okにはfalseが格納されます。

Discussion