Do Go开关/箱子是否通过?

时间:2016-11-26 18:49:25

标签: go switch-statement

当你遇到Go案例结束时会发生什么情况,是否会进入下一个案例,或者假设大多数应用程序都不想通过?

2 个答案:

答案 0 :(得分:14)

不,默认情况下,Go开关语句不会失效。如果您 希望它能够实现,那么您必须明确使用" fallthrough"声明。来自spec

  

在case或default子句中,最后一个非空语句可能是a   (可能已标记)" fallthrough"声明表明控制   应该从这个子句的结尾流到第一个语句   下一条。否则控制流到"开关"   声明。 A"通过"声明可能显示为最后一个声明   除了表达式开关的最后一个子句之外的所有子句。

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

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

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

答案 1 :(得分:1)

默认情况下会保留突破,但不会掉线,如果您想进行下一场比赛,那么您应该明确提及掉线。

orders

}