我是Golang的新手,我发现switch case
语句不需要break
语句即可停止评估案例。
那么,我想知道如何在go中实现这种失败行为?
答案 0 :(得分:5)
确切地有一个fallthrough
语句。
请参见以下示例:
fmt.Println("First round: without fallthrough")
switch 1 {
case 0:
fmt.Println(0)
case 1:
fmt.Println(1)
case 2:
fmt.Println(2)
case 3:
fmt.Println(3)
}
fmt.Println("Second round: with fallthrough")
switch 1 {
case 0:
fmt.Println(0)
fallthrough
case 1:
fmt.Println(1)
fallthrough
case 2:
fmt.Println(2)
fallthrough
case 3:
fmt.Println(3)
}
输出(在Go Playground上尝试):
First round: without fallthrough
1
Second round: with fallthrough
1
2
3
(请注意,我没有在最后一个fallthrough
中使用case
语句,因为这将导致编译时错误:“无法在切换中遇到最终情况” )