在本文中,您將學習使用條件或三元運算符來更改程序的指定流。
三元條件運算符"? :"是if-else語句的縮寫。
三元條件運算符的語法為:
condition ? value1 : value2
這是這樣的
如果condition為true,則返回value1。
如果condition為false,則返回value2。
上面的等效代碼,使用if-else是:
if condition { value1 } else { value2 }
您可能想知道如果條件運算符執(zhí)行與if-else語句相同的工作,為什么還要使用條件運算符。使用它的主要目的是使代碼更短,更易讀。
對于簡單的情況,您可以用比if-else更少的代碼在一行中對其進行計算。
print(true && false ? "條件為真": "條件為假")
上面的等效代碼使用if-else是:
if true && false { print("條件為 true") } else { print("條件為 false") }
當您運行上述程序時,輸出將是:
條件為 false
在上面的程序中,表達式的 true && false 計算結果為 false,因此該語句返回字符串 條件為 false 并且print語句在控制臺中輸出該字符串。
如果將表達式更改為 true || false,則語句計算為true,并返回字符串條件為true,print語句在控制臺中輸出字符串。
三元條件運算符也可以用作if-else-if語句的代替項。
通過使用三元條件運算符,您可以用一行替換多行if-else-if代碼。
但是有時候,這可能不是一個好方法。
if true && false { print("Result is \(true && false)") } else if true || false { print("Result is \(true || false)") } else if false || false { print("Result is \(false || false)") } else { print("Default else statement") }
上面使用三元條件運算符的等效代碼為:
print(true && false ? "Result is \(true && false)" : true || false ? "Result is \(true || false)" : false || false ? "Result is \(false || false)" : "The condition is unknown")
當您運行上述程序時,兩個輸出將是:
Result is true
在上述程序中,盡管使用三元條件運算符將if-else-if的語句替換為單行。 但是三元條件運算符中使用的表達式確實很難理解。
因此,要根據(jù)實際情況來使用三元條件運算符。