在下面的代码示例中,我不明白为什么打印“Value 7”而不是“Default”。情况 7,即 x=7 不满足,因为 x=6,那么为什么“Value 7”被打印而不是被跳过并且执行落到默认值?
let x = 6
switch x {
case 0...5:
println("0 through 5")
case 6:
fallthrough
case 7:
println("Value 7")
default:
println("Default")
}
最佳答案
当x
= 6时,switch语句找到6的case
,然后它“落入”下一个情况 默认的。如果您希望 6 的 case
执行 default
下的代码,请删除该 case
,因为它不执行任何操作。如果您计划在 6 的 case
中添加一些代码,请将其作为 default
之前的最后一个代码,这样它就会到达您想要的位置。
关于使用 switch、case 和 fallthrough 的 Swift 示例代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42375761/