Swift 循环
循环类型
Swift 语言提供了以下几种循环类型。点击链接查看每个类型的详细描述:
循环类型 | 描述 |
---|---|
遍历一个集合里面的所有元素,例如由数字表示的区间、数组中的元素、字符串中的字符。 | |
该循环方式在 Swift 3 中已经弃用。 用来重复执行一系列语句直到达成特定条件达成,一般通过在每次循环完成后增加计数器的值来实现。 |
|
运行一系列语句,如果条件为true,会重复运行,直到条件变为false。 | |
类似 while 语句区别在于判断循环条件之前,先执行一次循环的代码块。 |
循环控制语句
循环控制语句改变你代码的执行顺序,通过它你可以实现代码的跳转。Swift 以下几种循环控制语句:
控制语句 | 描述 |
---|---|
告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。 | |
中断当前循环。 | |
如果在一个case执行完后,继续执行下面的case,需要使用fallthrough(贯穿)关键字。 |
语法:
Swift for-in 循环用于遍历一个集合里面的所有元素,例如由数字表示的区间、数组中的元素、字符串中的字符。
for index in var { 循环体 }
Swift for 循环用来重复执行一系列语句直到达成特定条件,一般通过在每次循环完成后增加计数器的值来实现。
for init; condition; increment{ 循环体 }
参数解析:
- init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。
- 接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
- 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。
- 条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止。
实例:
import Cocoa var someInts:[Int] = [10, 20, 30] for var index = 0; index < 3; ++index { print( "索引 [\(index)] 对应的值为 \(someInts[index])") }
Swift while循环从计算单一条件开始。如果条件为true,会重复运行一系列语句,直到条件变为false。
while condition { statement(s) }
语法中的 statement(s) 可以是一个语句或者一个语句块。 condition 可以是一个表达式。如果条件为true,会重复运行一系列语句,直到条件变为false。
数字 0, 字符串 '0' 和 "", 空的 list(), 及未定义的变量都为 false ,其他的则都为 true。true 取反使用 ! 号或 not,取反后返回 false。
import Cocoa var index = 10 while index < 20 { print( "index 的值为 \(index)") index = index + 1 }
Swift repeat...while 循环不像 for 和 while 循环在循环体开始执行前先判断条件语句,而是在循环执行结束时判断条件是否符合。
repeat { statement(s); }while( condition );
请注意,条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。
如果条件为 true,控制流会跳转回上面的 repeat,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为 false 为止。
数字 0, 字符串 '0' 和 "", 空的 list(), 及未定义的变量都为 false ,其他的则都为 true。true 取反使用 ! 号或 not,取反后返回 false。
import Cocoa var index = 15 repeat{ print( "index 的值为 \(index)") index = index + 1 }while index < 20