スイッチ評価順序
スイッチケースは、成功するケースが見つかるまで、上から下へとケースを評価します。
(例えば、
switch i {
case 0:
case f():
}
は f
を呼び出しません、もし i==0
が真であれば。)
注意: Goプレイグラウンドの時間は常に2009-11-10 23:00:00 UTCから始まるように見えます。この値の重要性は読者の課題として残されています。
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println("When's Saturday?")
today := time.Now().Weekday()
switch time.Saturday {
case today + 0:
fmt.Println("Today.")
case today + 1:
fmt.Println("Tomorrow.")
case today + 2:
fmt.Println("In two days.")
default:
fmt.Println("Too far away.")
}
}