在本文中,您将学习使用条件或三元运算符来更改程序的指定流。
三元条件运算符"? :"是if-else语句的缩写。
三元条件运算符的语法为:
condition ? value1 : value2
这是这样的
如果condition为true,则返回value1。
如果condition为false,则返回value2。
上面的等效代码,使用if-else是:
if condition { value1 } else { value2 }
您可能想知道如果条件运算符执行与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的语句替换为单行。 但是三元条件运算符中使用的表达式确实很难理解。
因此,要根据实际情况来使用三元条件运算符。