根据文档,Swift "="运算符不会返回任何内容,因此不能代替"=="。那么可选绑定如何工作?
喜欢
if let a = optionalStringFoo {
//do some thing
} else {
//do something
}
Run Code Online (Sandbox Code Playgroud)
let a = optionalStringFoo 不返回(布尔值)值,请注意
if (let a = optionalStringFoo) { ... }
Run Code Online (Sandbox Code Playgroud)
并没有编译。
可选绑定是Swift语法中内置的if语句的特例。Swift语言参考中的语句显示以下结果:
if语句 如果条件列表代码块else子句opt
条件列表?条件| 条件列表
条件?表达| 可用性条件| 案例条件 可选绑定条件
可选绑定条件?让模式初始化器| var模式初始化器
模式?标识符模式类型注释opt
标识符模式?识别码
初始化器?=表达式
因此,在
if let a = optionalStringFoo { ... }
Run Code Online (Sandbox Code Playgroud)
的if关键字之后是“任选的结合条件”,其中a是在“标识符纹”和= optionalStringFoo是“初始化”。
| 归档时间: |
|
| 查看次数: |
103 次 |
| 最近记录: |