Go 速習チュートリアル

Go 言語のマルチケース switch 文

1. マルチケース switch ステートメント

Go言語の switch ステートメントでは、各 case に対して複数の値を指定することが可能です。これにより、異なる入力値に対して同じ処理を実行したい場合、コードをより簡潔に記述できます。

2. シンタックス

マルチケースを利用する場合の基本構文は以下の通りです。

switch expression {
case x, y:
   // expression が x または y と評価された場合に実行されるコードブロック
case v, w:
   // expression が v または w と評価された場合に実行されるコードブロック
case z:
...
default:
   // どのケースにも一致しなかった場合に実行されるコードブロック
}

3. マルチケース switch の実装例

以下の例では、曜日の数値を判定し、複数の値を一つの case でまとめて処理することで、平日(奇数・偶数)や週末を分類しています。

3.1. 実践コード

package main
import ("fmt")

func main() {
  day := 5

  switch day {
  case 1, 3, 5:
    fmt.Println("奇数の平日")
  case 2, 4:
    fmt.Println("偶数の平日")
  case 6, 7:
    fmt.Println("週末")
  default:
    fmt.Println("無効な曜日数値です")
  }
}

実行結果:

奇数の平日

このように、カンマ区切りで値を並べるだけで、論理和(OR)のような条件分岐を直感的に実装できるのがGoの switch 文の強みです。