在下面的代码示例中,我不明白为什么"值7"得到打印而不是"默认"。情况7,即x = 7不符合,因为x = 6,那么为什么"值7"得到打印而不是被跳过,执行是否会失败?
let x = 6
switch x {
case 0...5:
println("0 through 5")
case 6:
fallthrough
case 7:
println("Value 7")
default:
println("Default")
}
答案 0 :(得分:5)
当x
= 6时,switch语句会找到6的case
,然后它会通过'到下一个案例不是默认案例。如果您希望case
for 6执行default
下的代码,请删除case
,因为它什么都不做。如果您打算在case
中为6添加一些代码,请将其作为default
之前的最后一个代码,以便它落到您想要的位置。