发布于 2015-06-14 01:53:53 | 157 次阅读 | 评论: 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
itemincollection{
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 表达式也可以使用可选绑定,详情参见可选绑定。