Swift文档Chapter 5 控制流

for-in循环

for-in循环来遍历一个集合中的所有元素,例如数组中的元素、范围内的数字或者字符串中的字符。

while循环

包含两种形式:

  • while循环,循环开始时计算条件;
  • repeat-while循环,循环结束后计算条件。

条件语句

  • if-else语句:else语句是可选的。
  • switch语句:switch语句和C语言形式类似,但是不需要break语句,因为Swift里面不存在隐式贯穿;
    • 可以进行复合匹配,使用,可以连接多个匹配值,写不下时可以分行书写;
    • 可以进行区间匹配,Int类型可以进行区间匹配;
    • 可以进行元组的匹配,某些不需要匹配的值可以直接使用_忽略;
    • 元组可以使用值绑定,可以把某些值绑定在常量变量值上;
    • case值之后可以使用where语句加入额外的条件语句;
    • 复合匹配也可以进行值绑定,即使是同一变量名,只要可以匹配的到,就可以获得对应的值。

控制转移语句

Swift中有五个控制转移语句

  • continue:停止本次循环,进入下一次循环;
  • break:直接停止循环,进入到循环后}之后的语句。Switch语句中如果要忽略某个语句,也适用break语句。
  • fallthrough:贯穿,对于Switch语句使用这个语句可以进行贯穿。
  • return
  • throw

带标签的语句

我们可以为循环标注标签来告诉break函数我们需要结束的循环。这样可以在breakcontinue后面加上标签指明需要结束的循环。加标签的语法是:

label name: while condition {
    statements
}

提前退出

guard语句和if语句一样,但是有以下几个不同:

  • guard必须包含else语句;
  • 当条件满足时,执行前面的语句,不满足时执行else后面的语句。但是else后的分支必须满足这个分支有控制转移语句(例如returnbreakcontinue或者throw)或者不返回的方法或者函数来退出guard所在的代码段,否则就会返回fatalError()

检查API运行环境

使用#available(平台名称 版本号)可以在if或者guard语句中检查目前系统的版本。平台名称可以是iOSmacOSwatchOS或者tvOS。最后一个参数必须为*标明可以在版本号高于以上版本的平台中运行。

上一篇:一起学Python 2.2


下一篇:跳转控制语句