For循环
For-In
你可以使用for-in循环来遍历一个集合里面的所有元素
1 | for index in 1...5 { |
如果你不需要知道区间序列内每一项的值,你可以使用下划线(_)替代变量名来忽略对值的访问:
1 | let base = 3 |
For
1 | for var index = 0; index < 3; ++index { |
While循环
- while循环,每次在循环开始时计算条件是否符合;
- repeat-while循环,每次在循环结束时计算条件是否符合。while循环,每次在循环开始时计算条件是否符合;
repeat-while循环,每次在循环结束时计算条件是否符合。
While
1 | while condition { |
Repeat-While
类似于java的do while
1 | repeat { |
条件语句
if
1 | var temperatureInFahrenheit = 30 |
if else
1 | temperatureInFahrenheit = 40 |
if else if else
1 | temperatureInFahrenheit = 90 |
if else if
1 | temperatureInFahrenheit = 72 |
Switch
1 | switch some value to consider { |
1 | let someCharacter: Character = "e" |
区间匹配
1 | let approximateCount = 62 |
元组
1 | let somePoint = (1, 1) |
值绑定
1 | let anotherPoint = (2, 0) |
Where
1 | let yetAnotherPoint = (1, -1) |
控制转移语句
Swift 有五种控制转移语句:
- continue
- break
- fallthrough
- return
- throw
Continue
1 | let puzzleInput = "great minds think alike" |
Break
break语句会立刻结束整个控制流的执行。
循环语句中的 break
当在一个循环体中使用break时,会立刻中断该循环体的执行,然后跳转到表示循环体结束的大括号(})后的第一行代码。
Switch 语句中的 break
当在一个switch代码块中使用break时,会立即中断该switch代码块的执行,并且跳转到表示switch代码块结束的大括号(})后的第一行代码。
fallthrough
1 | let integerToDescribe = 5 |
return
像if语句一样,guard的执行取决于一个表达式的布尔值。我们可以使用guard语句来要求条件必须为真时,以执行guard语句后的代码。不同于if语句,一个guard语句总是有一个else分句,如果条件不为真则执行else分句中的代码。
1 | func greet(person: [String: String]) { |
检测 API 可用性
1 | if #available(iOS 9, OSX 10.10, *) { |