Golang 的 fallthrough
package main
import (
"fmt"
)
func main() {
a := 2
switch a {
case 1:
fmt.Println("a=1")
case 2:
fmt.Println("a=2")
fallthrough
case 3:
fmt.Println("a=3")
case 4:
fmt.Println("a=4")
default:
fmt.Println("default")
}
}
运行结果:
a=2
a=3
以上示例相当于:
package main
import (
"fmt"
)
func main() {
a := 2
switch a {
case 1:
fmt.Println("a=1")
break
case 2:
fmt.Println("a=2")
fallthrough
case 3:
fmt.Println("a=3")
break
case 4:
fmt.Println("a=4")
break
default:
fmt.Println("default")
break
}
}
golang 默认隐式地添加了 break 在每个 case command 最后。