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

标签 swift

在下面的代码示例中,我不明白为什么打印“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/

相关文章:

ios - 谷歌地图 iOS SDK : Map not loading

ios - bool 值的奇怪控制台输出

ios - 为什么我的按钮上的 addTarget 功能不起作用?

swift - 从 C 导入的扩展结构

ios - 带有 Swift 3 的 APAddressBook - EXC_ARM_BREAKPOINT

uitableview - 第一个 tableview 部分的标题比其余部分大

ios - UIButton 文本仅在触摸时出现

ios - Swift - 显示另一个带有导航栏的 View Controller

ios - 搜索栏 Controller iOS 11 问题 - 搜索栏和范围按钮重叠

ios - 使用 setEditing 不会使 tableview 进入编辑模式