一尘不染

Go开关/外壳是否掉线?

go

当您到达Go案例的结尾时,会遇到下一个案例,还是假设大多数应用程序不想失败,会发生什么?


阅读 134

收藏
2020-07-02

共1个答案

一尘不染

不,默认情况下,Go switch语句不会通过。如果 确实 希望其失败,则必须显式使用“
fallthrough”语句。从规格

在case或default子句中,最后一个非空语句可以是一个(可能标记为)“
fallthrough”语句,以指示控制权应从此子句的末尾流到下一个子句的第一个语句。否则,控制流到“
switch”语句的末尾。除了表达式开关的最后一个子句外,“ fallthrough”语句可能显示为所有其他语句的最后一个语句。

例如(对不起,我无法为自己的生活想到一个真实的例子):

switch 1 {
case 1:
    fmt.Println("I will print")
    fallthrough
case 0:
    fmt.Println("I will also print")
}

https://play.golang.org/p/va6R8Oj02z

2020-07-02