Swift中if let name = optionName {}解释

在Swift语法的if语句中,是不能出现这种情况的:

1 let optionName = "Swift"
2 if let name = optionName {
3     print("ok")
4 }

但是可以出现下面这种:

let optionName: String? = "Swift"
if let name = optionName {
    print("OK")
}

let name = optionName

当optionName是可选类型的时候,上面这行代码语法叫做,可选绑定

解释:

“使用可选绑定(optional binding)来判断可选类型是否包含值,如果包含就把值赋给一个临时常量或者变量。可选绑定可以用在if和while语句中,这条语句不仅可以用来判断可选类型中是否有值,同时可以将可选类型中的值赋给一个常量或者变量。”

所以。首先会判断optionName中是否有值,如果有,则把值赋给name,然后进入{},否则跳过大{}