发布于 2015-06-14 01:53:53 | 151 次阅读 | 评论: 0 | 来源: 网络整理
取决于特定的循环条件,循环语句允许重复执行代码块。Swift 提供四种类型的循环语句:for
语句、for-in
语句、while
语句和do-while
语句。
通过break
语句和continue
语句可以改变循环语句的控制流。有关这两条语句,详情参见 Break 语句和Continue 语句。
循环语句语法
循环语句 → for语句
循环语句 → for-in语句
循环语句 → while语句
循环语句 → do-while语句
for
语句允许在重复执行代码块的同时,递增一个计数器。
for
语句的形式如下:
for
initialzation
;condition
;increment
{
statements
}
initialzation、condition 和 increment 之间的分号,以及包围循环体 statements 的大括号都是不可省略的。
for
语句的执行流程如下:
true
,statements 将会被执行,然后转到第3步。如果为false
,statements 和 increment 都不会被执行,for
至此执行完毕。定义在 initialzation 中的变量仅在for
语句的作用域以内有效。condition 表达式的值的类型必须遵循LogicValue
协议。
For 循环语法
for语句 → for for初始条件 可选 ; 表达式 可选 ; 表达式 可选 代码块
for语句 → for ( for初始条件 可选 ; 表达式 可选 ; 表达式 可选 ) 代码块
for初始条件 → 变量声明 | 表达式列表
for-in
语句允许在重复执行代码块的同时,迭代集合(或遵循Sequence
协议的任意类型)中的每一项。
for-in
语句的形式如下:
for
item
incollection
{
statements
}
for-in
语句在循环开始前会调用 collection 表达式的generate
方法来获取一个生成器类型(这是一个遵循Generator
协议的类型)的值。接下来循环开始,调用 collection 表达式的next
方法。如果其返回值不是None
,它将会被赋给 item,然后执行 statements,执行完毕后回到循环开始处;否则,将不会赋值给item 也不会执行 statements,for-in
至此执行完毕。
while
语句允许重复执行代码块。
while
语句的形式如下:
while
condition
{
statements
}
while
语句的执行流程如下:
true
,转到第2步。如果为false
,while
至此执行完毕。由于 condition 的值在 statements 执行前就已计算出,因此while
语句中的 statements 可能会被执行若干次,也可能不会被执行。
condition 表达式的值的类型必须遵循LogicValue
协议。同时,condition 表达式也可以使用可选绑定,详情参见可选绑定。
do-while
语句允许代码块被执行一次或多次。
do-while
语句的形式如下:
do {
statements
} whilecondition
do-while
语句的执行流程如下:
true
,转到第1步。如果为false
,do-while
至此执行完毕。由于 condition 表达式的值是在 statements 执行后才计算出,因此do-while
语句中的 statements 至少会被执行一次。
condition 表达式的值的类型必须遵循LogicValue
协议。同时,condition 表达式也可以使用可选绑定,详情参见可选绑定。