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