/var/log/messages

Mar 14, 2018 - 1 minute read - Comments - Go

Go by Examples (2)

続き、ということで Switch から。

Switch

  • 基本的な switch
    • integer な比較
  • 同じ case ステートメントにて複数の式を comma で分割できます
    • or な条件式になります
    • case time.Saturday, time.Sunday のような使い方
  • 式なしの switch は if/else な表現の代替の方法で、case の式は定数以外にできます
  • type な switch は値のかわりに型を比較します。interface 値の型を見つけるためにこれを使うことができます。この例では変数 t はそのクラスの対応する型を持つでしょう
    whatAmI := func(i interface{}) {
        switch t := i.(type) {
        case bool:
            fmt.Println("I'm a bool")
        case int:
            fmt.Println("I'm an int")
        default:
            fmt.Printf("Don't know type %T\n", t)
        }
    }
    whatAmI(true)
    whatAmI(1)
    whatAmI("hey")

ここ、確認してみたところ、interface{} という型指定はどんな型の引数でも受け取れる、とのこと。型の switch は別途確認します。

つづき

ドキュメント作成、と称してすすめる方向。

Go by Examples Go by Examples (3)

comments powered by Disqus