スイッチ評価順序

スイッチケースは、成功するケースが見つかるまで、上から下へとケースを評価します。

(例えば、

  1. switch i {
  2. case 0:
  3. case f():
  4. }

f を呼び出しません、もし i==0 が真であれば。)

注意: Goプレイグラウンドの時間は常に2009-11-10 23:00:00 UTCから始まるように見えます。この値の重要性は読者の課題として残されています。

  1. package main
  2. import (
  3. "fmt"
  4. "time"
  5. )
  6. func main() {
  7. fmt.Println("When's Saturday?")
  8. today := time.Now().Weekday()
  9. switch time.Saturday {
  10. case today + 0:
  11. fmt.Println("Today.")
  12. case today + 1:
  13. fmt.Println("Tomorrow.")
  14. case today + 2:
  15. fmt.Println("In two days.")
  16. default:
  17. fmt.Println("Too far away.")
  18. }
  19. }