语句(Statements)
1.0 翻译:coverxit 校对:numbbbbb, coverxit, stanzhai
2.0 翻译+校对:littledogboy
2.2 翻译:chenmingbiao
3.0 翻译:chenmingjia
在 Swift 中,有三种类型的语句:简单语句、编译器控制语句和控制流语句。简单语句是最常见的,用于构造表达式或者声明。编译器控制语句允许程序改变编译器的行为,包含编译配置语句和行控制语句。
控制流语句则用于控制程序执行的流程,Swift 中有多种类型的控制流语句:循环语句、分支语句和控制转移语句。循环语句用于重复执行代码块;分支语句用于执行满足特定条件的代码块;控制转移语句则用于改变代码的执行顺序。另外,Swift 提供了 do
语句,用于构建局部作用域,还用于错误的捕获和处理;还提供了 defer
语句,用于退出当前作用域之前执行清理操作。
是否将分号(;
)添加到语句的末尾是可选的。但若要在同一行内写多条独立语句,则必须使用分号。
语句语法
循环语句 ;可选
语句 → 分支语句 ;可选
语句 → 带标签的语句 ;可选
语句 → 控制转移语句 ;可选
语句 → defer 语句 ;可选
语句 → do 语句 :可选
语句 → 编译器控制语句
语句 多条语句可选
Break 语句 和 Continue 语句。
循环语句语法
for-in 语句
循环语句 → while 语句
循环语句 → repeat-while 语句
条件 | 条件 , 条件列表
可用性条件 | case条件 | 可选绑定条件
Break 语句。
分支语句语法
if 语句
分支语句 → guard 语句
分支语句 → switch 语句
else子句可选
if语句
Fallthrough 语句。
switch 语句语法
switch-case列表可选}
switch-case switch-case列表可选
case标签 多条语句 | default标签 多条语句
case项列表 :
where子句可选, case项列表
where表达式
Break 语句 和 Continue 语句。
标签的作用域在该标签所标记的语句内。可以嵌套使用带标签的语句,但标签名必须唯一。
关于使用带标签的语句的例子,请参阅 控制流 一章中的 带标签的语句。
带标签的语句语法
语句标签 循环语句 | 语句标签 if语句 | 语句标签 switch语句
标签名称 :
break 语句
控制转移语句 → continue 语句
控制转移语句 → fallthrough 语句
控制转移语句 → return 语句
控制转移语句 → throw 语句
标签名称可选
标签名称可选
多条 catch子句可选
catch子句 多条 catch子句可选
编译配置语句
编译器控制语句 → 线路控制语句
编译配置 语句可选多个编译配置elseif子句可选- 单个编译配置else子句可选#endif
编译配置 语句可选
单个编译配置 else 子句 → #else 语句可选
编译配置 )
编译配置 → ! 编译配置
编译配置 → 编译配置 && 编译配置
编译配置 → 编译配置 || 编译配置
操作系统 )
平台检测函数 → arch ( 架构 )
swift版本 )
文件名,line:行号)
行控制语句 → #sourceLocation()
可用性参数列表 )
可用性参数 | 可用性参数 , 可用性参数列表
平台名称 平台版本
可用性条件 → *
平台名称 → iOS | iOSApplicationExtension
平台名称 → OSX | OSXApplicationExtension
平台名称 → watchOS
平台版本 → 十进制数字
平台版本 → 十进制数字 . 十进制数字
平台版本 → 十进制数字 . 十进制数字 . 十进制数字