Golang: switch statement with fallthrough

Go only runs the selected case, not all the cases that follow. In effect, the break statement that is needed at the end of each case in those languages is provided automatically in Go.

package main

import (
	"fmt"
)

func main() {
	var age int = 29
	switch {
	case age < 25:
		fmt.Println("age is less than 25")
		fallthrough
	case age < 30:
		fmt.Println("age is less than 30")
		fallthrough
	case age < 35:
		fmt.Println("age is less than 35")
	case age < 40:
		fmt.Println("age is less than 40")
	}
}

Output

age is less than 30
age is less than 35

使用上請注意不能在最後一個 case 使用 fallthrough 不然會發生錯誤。

cannot fallthrough final case in switch
Categories: Go

You may also like

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *