Swift允许if条件里面用let语句:
var a: Int? = 100
if let c = a, c > 50 {
print("a > 50")
} else {
print("a <= 50")
}
并不是如上的if条件不符合Swift语法,反而,Swift为了支持这种便捷的条件,表达式语法加入了let或var初始化。
condition-list → condition | condition , condition-list
condition → expression | availability-condition | case-condition | optional-binding-condition
case-condition → case pattern initializer
optional-binding-condition → let pattern initializer? | var pattern initializer?
Refer: If Statements | swift.org While Statements | swift.org
