在Swift語言中,Bool
值是用來進行條件判斷的,可以進行 &&
以及 ||
的操作,從而實現多個表達式共同判斷。
但是由于Swift中存在可選項綁定,或者說是用 let
展開可選項的原因,有些地方條件判斷中不能夠使用 &&
來進行處理。比如,我們要在變量 hasValue
確實有值,且參數個數 paramCount
大于 0 的時候,執行代碼,一般我們可以這樣寫:
if hasValue != nil && paramCount > 0 {
...
}
但是如果我們在后續代碼中中要使用 hasValue
的值的話,就不能夠只判斷 hasValue
是否為nil
了,而應該使用可選項綁定把值給讀出來,也就是下面的代碼:
if let hasValue = hasValue {
if paramCount > 0 {
...
}
}
由于 let hasValue = hasValue
并不會返回一個 Bool
值,導致兩個條件不能夠使用 &&
進行判斷,這個時候,我們就要使用所謂的逗號了,也就是可以寫成:
if let hasValue = hasValue, paramCount > 0 {
...
}
這個樣子就可以滿足我們的需求,代碼逼著上面的代碼少了一層判斷,看起來會更加友好。特別是當我們需要可選項綁定多個變量時,這樣寫會更加的方便。如:
if let a = a, let b = b, let c = c, let d = d, e < 0, f > 0 {
...
}
總的來說,條件判斷中逗號的作用類似于 &&
,但是它除了連接 Bool
值,也可以用來連接可選項綁定的判斷。