go语言中fallthrough用法

Go 编程语言中 switch 语句的语法如下:

switch expr {
    case expr1:
        ...
    case expr2:
        ...
    default:
        ...
}

Go的switch非常灵活,表达式不必是常量或整数,执行的过程从上至下,直到找到匹配项;而如果switch没有表达式,它会匹配true。 Go里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch, 但是可以使用fallthrough强制执行后面的case代码,fallthrough不会判断下一条case的expr结果是否为true。

package main

import "fmt"

func main() {

    switch {
    case false:
            fmt.Println("我是第一个")
            fallthrough
    case true:
            fmt.Println("我是第二个")
            fallthrough
    case false:
            fmt.Println("我是第三个")
            fallthrough
    case true:
            fmt.Println("我是第四个")
    case false:
            fmt.Println("我是第五个")
            fallthrough
    default:
            fmt.Println("我是默认的")
    }
}

运行结果:

我是第二个
我是第三个
我是第四个

从以上代码输出的结果可以看出:switch 从第一个判断表达式为 true 的 case 开始执行,如果 case 带有 fallthrough,程序会继续执行下一条 case,且它不会去判断下一个 case 的表达式是否为 true。

RIPRO主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
荐书网 » go语言中fallthrough用法

发表评论

提供最优质的资源集合

立即查看 了解详情