導入
if - else if がいくつも続くときは、switch の方が読みやすくなります。Go の switch は他言語より便利で、break を書かなくても次の case に流れ落ちません。
説明
package main
import "fmt"
func main() {
day := "土"
switch day {
case "土", "日":
fmt.Println("週末です")
case "月":
fmt.Println("週のはじまり")
default:
fmt.Println("平日です")
}
}
case "土", "日":のように、カンマで複数の値をまとめられます。- 各
caseは自動でそこで終わります(break不要)。 - どれにも当てはまらないときは
defaultが実行されます。
条件式を省いて、if の連なりのように書くこともできます。
switch {
case score >= 80:
fmt.Println("優")
case score >= 60:
fmt.Println("良")
default:
fmt.Println("要努力")
}
switch { と値を書かない形は、範囲による分岐(〜以上・〜未満)に向いています。
やってみよう
day を “水” にすると default の「平日です」が表示されます。case "土", "日": のようにまとめられる点が、if - else if を並べるより読みやすいところです。