3.3流程跳转语句

2020-05-22  本文已影响0人  LucXion

Swift中提供的流程跳转语句主要有continue、break、fallthrough、return、throw、guard。
continue: 终止本次循环,跳到下一次循环条件

// 可以给外部for-in结构定义一个标签,在内部循环中控制外部循环的跳转
MyOut: for item in 0...3 {
    print("外循环%d--------",item)
    for inUnit in 0...5 {
        print("内循环%d",inUnit)
        if item == 1 && inUnit == 1 {
            continue MyOut
        }
    }
}

fallthrough用于switch结构中实现穿透

let value = 3
switch value {
case 3:
    print("1")
    fallthrough
case 0...3:
    print("2")
    fallthrough
case 3...4:
    print("3")
    fallthrough
default:
    print("Nothing") // 即使上面的语句已经被匹配,但这里也会被执行
}

throw语句用于异常抛出,throw语句抛出的异常如果不进行捕获处理,也会使程序中断。

guard-else结构语句用于优化代码显示,常用于以下场景
// 这两句是一样的
func jump1(paramer:Int) {
    if paramer <= 0 {
        return
    }
    print("execute1")
}
func jump2(paramer:Int){
    
    guard paramer > 0 else {
        return
    }
    print("execute2")
}
// 生成一个1-7的随机数
let random = arc4random()%7+1
上一篇 下一篇

猜你喜欢

热点阅读