使用 fallthrough 会强制执行后面的 case 语句,fallthrough 不会判断下一条 case 的表达式结果是否为 true。
实例
package main
import"fmt"
func main(){
switch{
casefalse:
fmt.Println("1、case 条件语句为 false")
fallthrough
casetrue:
fmt.Println("2、case 条件语句为 true")
fallthrough
casefalse:
fmt.Println("3、case 条件语句为 false")
fallthrough
casetrue:
fmt.Println("4、case 条件语句为 true")
casefalse:
fmt.Println("5、case 条件语句为 false")
fallthrough
default:
fmt.Println("6、默认 case")
}
}
以上代码执行结果为:
2、case 条件语句为 true 3、case 条件语句为 false 4、case 条件语句为 true
从以上代码输出的结果可以看出:switch 从第一个判断表达式为 true 的case 开始执行,如果 case 带有 fallthrough,程序会继续执行下一条 case,且它不会去判断下一个 case 的表达式是否为 true。