使用switch,case和fallthrough的Swift示例代码

时间:2017-02-21 13:22:43

标签: swift

在下面的代码示例中,我不明白为什么"值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")
}

1 个答案:

答案 0 :(得分:5)

x = 6时,switch语句会找到6的case,然后它会通过'到下一个案例不是默认案例。如果您希望case for 6执行default下的代码,请删除case,因为它什么都不做。如果您打算在case中为6添加一些代码,请将其作为default之前的最后一个代码,以便它落到您想要的位置。