Golang中关键字fallthrough在switch语句里的用法
和C语言不同,在Go语言里的switch语句中,是不需要使用break来退出一个case的。也就是说,case执行完成后,是不会继续向下匹配的。
我们可以使用关键字fallthrough进行执行下一个case,且fallthrough不会判断下一个case的条件。换句话说,不论下一个case是否被匹配,都会被执行。
package main
import (
"fmt"
)
func main() {
p := fmt.Println
a := 1
switch a {
case 0:
p(0)
case 1:
p(1)
fallthrough
case 2:
p(2) //因为在上一个case中使用了fallthrough关键字,这个case就算条件不匹配也会被执行
case 3:
p(3)
}
}
程序会输出:1 2
如果fallthrough后没有case,则会产生cannot fallthrough final case in switch的错误。