在Swift语法的if语句中,是不能出现这种状况的:spa
1 let optionName = "Swift" 2 if let name = optionName { 3 print("ok") 4 }
可是能够出现下面这种:code
let optionName: String? = "Swift" if let name = optionName { print("OK") }
let name = optionNameblog
当optionName是可选类型的时候,上面这行代码语法叫作,可选绑定io
解释:class
“使用可选绑定(optional binding)来判断可选类型是否包含值,若是包含就把值赋给一个临时常量或者变量。可选绑定能够用在if和while语句中,这条语句不只能够用来判断可选类型中是否有值,同时能够将可选类型中的值赋给一个常量或者变量。”变量
因此。首先会判断optionName中是否有值,若是有,则把值赋给name,而后进入{},不然跳过大{}语法