1.For-In 循环
for index in 1...5 {
//1到5
}
for index in 1..<5 {
//1到4
}
2.While 循环
while 循环会一直运行一段语句直到条件变成 false 。这类循环适合使用在迭代次数未知的情况
• while循环,每次在循环开始时计算条件是否符合;
while square < finalSquare {
}
• repeat-while循环,每次在循环结束时计算条件是否符合。
repeat {
} while square < finalSquare
3.控制转移语句
Continue
continue 语句告诉一个循环体立刻停止本次循环,重新开始下次循环。
Break
break 语句会立刻结束整个控制流的执行。当你想要更早的结束一个 switch 代码块或者一个循环体时,你都可以 使用 break 语句。
fallthrough
Swift 中的 switch只要第一个匹配到的 case 分支 完成了它需要执行的语句,整个 switch 代码块完成了它的执行。如果你确实需要从上一个 case 分支落入到下一个 case 分支中,你可以在每个需要该特性的 case 分支中使用 fallthrough(贯穿) 关键字。
4.带标签的语句
当多个循环嵌套时,break等语句默认是中止最内的循环体,当我们里面的循环中结束外面的循环时,我们需要加标签。语法如下:
label name : while condition { statements }
gameLoop: while square != finalSquare {
diceRoll += 1
if diceRoll == 7 { diceRoll = 1 }
switch square + diceRoll {
case finalSquare:
// 骰子数刚好使玩家移动到最终的方格里,游戏结束。
break gameLoop
case let newSquare where newSquare > finalSquare:
// 骰子数将会使玩家的移动超出最后的方格,那么这种移动是不合法的,玩家需要重新掷骰子
continue gameLoop
default:
// 合法移动,做正常的处理 square += diceRoll
square += board[square]
} }
print("Game over!")
5.检测 API 可用性
if #available(iOS 10, macOS 10.12, *) {
// 在 iOS 使用 iOS 10 的 API, 在 macOS 使用 macOS 10.12 的 API
} else {
// 使用先前版本的 iOS 和 macOS 的 API
}