发布于 2015-06-14 01:47:38 | 236 次阅读 | 评论: 0 | 来源: 网络整理

控制传递语句

通过无条件地把控制权从一片代码传递到另一片代码,控制传递语句能够改变代码执行的顺序。Swift 提供四种类型的控制传递语句:break语句、continue语句、fallthrough语句和return语句。


控制传递语句(Control Transfer Statement) 语法
控制传递语句 → break语句
控制传递语句 → continue语句
控制传递语句 → fallthrough语句
控制传递语句 → return语句
 

Break 语句

break语句用于终止循环或switch语句的执行。使用break语句时,可以只写break这个关键词,也可以在break后面跟上标签名(label name),像下面这样:

break
break label name

break语句后面带标签名时,可用于终止由这个标签标记的循环或switch语句的执行。

而当只写break时,则会终止switch语句或上下文中包含break语句的最内层循环的执行。

在这两种情况下,控制权都会被传递给循环或switch语句外面的第一行语句。

关于使用break语句的例子,详情参见控制流一章的 Break 和带标签的语句


Break 语句语法
break语句 → break 标签名称 可选
 

Continue 语句

continue语句用于终止循环中当前迭代的执行,但不会终止该循环的执行。使用continue语句时,可以只写continue这个关键词,也可以在continue后面跟上标签名(label name),像下面这样:

continue
continue label name

continue语句后面带标签名时,可用于终止由这个标签标记的循环中当前迭代的执行。

而当只写break时,可用于终止上下文中包含continue语句的最内层循环中当前迭代的执行。

在这两种情况下,控制权都会被传递给循环外面的第一行语句。

for语句中,continue语句执行后,increment 表达式还是会被计算,这是因为每次循环体执行完毕后increment 表达式都会被计算。

关于使用continue语句的例子,详情参见控制流一章的 Continue 和带标签的语句


Continue 语句语法
continue语句 → continue 标签名称 可选
 

Fallthrough 语句

fallthrough语句用于在switch语句中传递控制权。fallthrough语句会把控制权从switch语句中的一个 case 传递给下一个 case 。这种传递是无条件的,即使下一个 case 的模式与switch语句的控制表达式的值不匹配。

fallthrough语句可出现在switch语句中的任意 case 里,但不能出现在最后一个 case 分支中。同时,fallthrough语句也不能把控制权传递给使用了可选绑定的 case 分支。

关于在switch语句中使用fallthrough语句的例子,详情参见控制流一章的控制传递语句


Fallthrough 语句语法
fallthrough语句 → fallthrough
 

Return 语句

return语句用于在函数或方法的实现中将控制权传递给调用者,接着程序将会从调用者的位置继续向下执行。

使用return语句时,可以只写return这个关键词,也可以在return后面跟上表达式,像下面这样:


return
return expression

return语句后面带表达式时,表达式的值将会返回给调用者。如果表达式值的类型与调用者期望的类型不匹配,Swift 则会在返回表达式的值之前将表达式值的类型转换为调用者期望的类型。

而当只写return时,仅仅是将控制权从该函数或方法传递给调用者,而不返回一个值。(这就是说,该函数或方法的返回类型为Void())


Return 语句语法
return语句 → return 表达式 可选
 

最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务