在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,然后进入{},否则跳过大{}