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
函数我们需要结束的循环。这样可以在break
和continue
后面加上标签指明需要结束的循环。加标签的语法是:
label name: while condition {
statements
}
提前退出
guard
语句和if
语句一样,但是有以下几个不同:
-
guard
必须包含else
语句; - 当条件满足时,执行前面的语句,不满足时执行
else
后面的语句。但是else
后的分支必须满足这个分支有控制转移语句(例如return
,break
,continue
或者throw
)或者不返回的方法或者函数来退出guard
所在的代码段,否则就会返回fatalError()
。
检查API运行环境
使用#available(平台名称 版本号)
可以在if
或者guard
语句中检查目前系统的版本。平台名称可以是iOS
,macOS
,watchOS
或者tvOS
。最后一个参数必须为*
标明可以在版本号高于以上版本的平台中运行。