func main() {
a := 2
switch a {
case 1:
fmt.Println("×")
case 2, 3:
fmt.Println("〇")
case 4:
fmt.Println("×")
}
}
例えば2番目のcase条件を「2,3」としてみました。この場合でも実行結果は〇と出力されます。
つまりcaseに複数の条件を書くことで、OR条件とすることができるのです。
func main() {
a := 3
switch a {
case 1:
fmt.Println("×")
case 2, 3:
fmt.Println("〇")
case 4:
fmt.Println("×")
}
}
aに3を代入しましたが、この実行結果も〇です。
func main() {
a := 4
switch a {
case 1:
fmt.Println("×")
case 2, 3:
fmt.Println("〇")
case 4:
fmt.Println("×")
}
}
aに4を代入すると最後の条件式に引っ掛かるため×が出力されます。
どの条件式も当てはまらなかった場合
次にどのcaseにも引っ掛からなかった場合についてです。
func main() {
a := 5
switch a {
case 1:
fmt.Println("×")
case 2, 3:
fmt.Println("〇")
case 4:
fmt.Println("×")
}
}
この実行結果は何も起きません。a=5ですが、どのcaseにも一致しないため処理が行われません。
func main() {
a := 5
switch a {
case 1:
fmt.Println("×")
case 2, 3:
fmt.Println("〇")
case 4:
fmt.Println("×")
default:
fmt.Println("どれにも合致しませんでした。")
}
}