当您到达Go案件的末尾时,会发生什么情况?是否会转入下一个案例,或者假设大多数应用程序不想经历?做开关/案件是否贯穿?
1
A
回答
5
不,默认情况下,Go开关语句不会通过。如果你做希望它贯穿,你必须明确地使用“fallthrough”语句。从spec:
在的情况下,或默认条款,最后的非空语句可以是 (可能标记的)“下通”语句,以指示控制 应该从这个子句到的端部流 下一条款的第一条语句。否则控制流向“开关” 声明的末尾。 “fallthrough”语句可能会显示为表达式切换的最后一个子句的最后一个语句 。
例如(对不起,我不能为我的生活想象一个真实的例子的):
switch 1 {
case 1:
fmt.Println("I will print")
fallthrough
case 0:
fmt.Println("I will also print")
}
+0
注意; 'fallthrough'必须是最后一件事;尽管您可以使用[labels](https://github.com/golang/go/wiki/Switch#fall-through) –
相关问题
- 1. 案件陈述贯穿始终?
- 2. 关于qtestmouse内部贯穿的警告?
- 3. NSTimer是否贯穿整个应用程序?
- 4. 大会贯穿两个项目
- 5. 这些变量是否会贯穿主框架的整个生命周期?
- 6. 错误STATUS_BAD_NETWORK_PATH贯穿开发工作室QT可执行文件时,
- 7. gwt是否有穿梭组件
- 8. 开关,案件在C
- 9. 不从开关案件
- 10. 是否有此穿越问题的解决方案?
- 11. 我会如何做一个开关案件的OR语句? (PHP)
- 12. 你如何在Rails 3中组织一个有很多贯穿的关系?
- 13. 错误贯穿的JMeter一个SOAP请求时 - 响应500
- 14. PHP对于每个贯穿2个阵列
- 15. 贯穿应用程序的一致标签
- 16. 如何使Sinatra会话在测试中持续贯穿POSTs?
- 17. 坚持(设置Cookie)JSESSIONID贯穿测试计划在jmeter
- 18. Perl守护进程不会贯穿整个循环
- 19. XSL开关案例
- 20. 使用具有贯入性的开关处理Javascript中的默认参数是否是个好主意?
- 21. 查找HasMany穿透关系是否存在 - CakePHP
- 22. 使用案例:是否分开?
- 23. 开关/案件没有中断DllMain
- 24. 复杂开关案例SQL
- 25. PHP案例开关(效率)
- 26. 开关案例程序
- 27. PHP开关案例问题
- 28. 开关...案例不工作
- 29. 案例在保护开关
- 30. PHP开关/案例json_encode
[“的情况下或默认条款,最后的非空语句可能是一个(可能被标记为)“fallthrough”语句,表示控制应该从该子句的末尾流到下一个子句的第一个语句,否则控制流到“switch”语句的末尾。 https://golang.org/ref/spec#Switch_statements) –
nope,但你可以明确指定,b y使用'fallthrough'关键字 –