Swift中的三元條件運算子(Ternary Conditional Operator)是一種簡潔的寫法,用於在滿足條件時返回一個值,否則返回另一個值。
基本語法
condition ? valueIfTrue : valueIfFalse
其中,condition是要測試的條件,如果為true,則返回valueIfTrue,否則返回valueIfFalse。
使用三元條件運算子來檢查一個數字是否為正:
let number = 10
let result = number > 0 ? "正數" : "負數或零"
print(result) // "正數"
在上面的例子中,三元條件運算子檢查變數number是否大於0。由於number是正數,因此返回“正數”,將其分配給result變數,並將結果列印出來。
三元條件運算子用於更複雜的表達式,例如:
let a = 10
let b = 20
let c = 30
let max = a > b ? (a > c ? a : c) : (b > c ? b : c)
print(max) // 30
在上面的例子中,三元條件運算子檢查變數a是否大於變數b,如果是,則檢查變數a是否大於變數c。如果是,則返回a,否則返回c。否則,檢查變數b是否大於變數c。如果是,則返回b,否則返回c。因此,max變數的值是30,這是變數a,b和c中的最大值。
需要注意的是三元運算子不應該被濫用,會降低程式閱讀性及可維護性。
在某些情況下使用if else語法會更好。