奇思妙想 · 2024年 5月 2日 0

如何理解Swift的if let语句?

319 次浏览

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