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

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...