微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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。最后一个参数必须为*标明可以在版本号高于以上版本的平台中运行。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐