美文网首页Swift编程
Swift 里进行控制转移

Swift 里进行控制转移

作者: 码农UP2U | 来源:发表于2020-01-21 23:29 被阅读0次

    今天是放假的第一天,在家简单的打扫了卫生,休息了休息。本来过年应该是很愉快很惬意的事情,无奈由于最近的环境所致,让人稍感压抑。

    还是继续学习 极客时间张杰 老师的 Swift 课程。

    控制转移

    在 Swift 中常用的控制转移的关键字有以下五个,目前介绍了前面的三个。

    • continue
    • break
    • fallthrough
    • return
    • throw

    continue

    • continue 语句告诉循环停止正在做的事情并且再次从头开始循环下一次遍历。它是说 “我不再继续当前的循环遍历了” 而不是离开整个的循环

    break

    • break 语句会立即结束整个控制流语句。当你想要提前结束 switch 或者循环语句或者其他情况时可以在 switch 语句或者循环语句中使用 break 语句
    • 在循环语句中使用时,break 会立即结束循环的执行,并且转移控制到循环结束花括号后到第一行代码上。当前遍历循环里的其他代码都不会被执行,并且余下的遍历循环也不会开始了
    • 当在 switch 语句里使用时,break 导致 switch 语句立即结束它的执行,并且转移控制到 switch 语句结束花括号之后的第一行代码上

    fallthrough

    • 如果你确实需要 C 或者 Objective-C 风格的贯穿行为,你可以选择在 switch 每个 case 末尾使用 fallthrough 关键字。

    语句标签

    • 可以用语句标签来给循环语句或者条件语句做标记。在一个条件语句中,你可以使用一个语句标签配合 break 语句来结束被标记的语句。- - 在循环语句中,你可以使用语句标签来配合 break 或者 continue 语句来结束或者继续执行被标记的语句

    代码示例

    代码示例如下:

    // 隐式贯穿
    // 输出 the first letter of alphabet
    //     the second letter of alphabet
    let char: Character = "a"
    
    switch char {
    case "a":
        print("the first letter of alphabet")
        // 隐式贯穿,case "b" 也会被执行
        fallthrough
    case "b":
        print("the second letter of alphabet")
    case "z":
        print("the last letter of alphabet")
    default:
        print("other letter")
    }
    
    
    // 语句标签
    // 输出 45
    var number = 10
    
    whileLoop: while number > 0 {
        switch number {
        case 9:
            print("9")
        case 10:
            var sum = 0
            for index in 1...10 {
                sum += index
                if index == 9 {
                    print(sum)
                    break whileLoop
                }
            }
        default:
            break
        }
        
        number -= 1
    }
    
    forA: for i in 1...5 {
        for j in 1...5 {
            print("\(i), \(j)")
            if i == 2 {
                break forA
            }
            if j == 3 {
                continue forA
            }
        }
        print("lalala")
    }
    
    print("finish")
    


    我的微信公众号:“码农UP2U”

    相关文章

      网友评论

        本文标题:Swift 里进行控制转移

        本文链接:https://www.haomeiwen.com/subject/oacyzctx.html