さんごー日記。

映画や本やゲームの感想をゆるく記録したり、プログラミングの勉強をゆるく記録するゆるい日記です。

Go(プログラミング言語)メモ:型switch

Go言語のお勉強メモ。
型スイッチについて。

型switch

その名の通り、型を判定して条件分岐をするswitch文。
fallthroughは使えない。

// switch 変数名.(type) { という書式
var x interface{}
x = 1
switch x.(type) {
    case nil:
        fmt.Println("nil")
    case int, int32, int64: // 型を複数指定可能
        fmt.Println("int")
    default:
        fmt.Println("default")
}

型switchで変数の値を取得する

var x interface{}
x = 1
// valのスコープはswitch内のみ。
switch val := x.(type) {
    case nil:
        fmt.Println("nil")
    case string:
        fmt.Prinln("string:", val)
    case int, int32, int64:
        fmt.Prinln("int:", val)
    default:
        fmt.Println("default")
}

参考にしている本。

改訂2版 基礎からわかる Go言語

改訂2版 基礎からわかる Go言語