上一章Swift教程请查看:swift运算符的优先级和结合性
在本文中,你将学习如何使用条件运算符或三元运算符来更改程序的控制流。
三元条件运算符”?:”是if-else语句的缩写。
三元条件运算符的语法是:
Condition(条件) ? value1 : value2
三元条件运算符是如何工作的?
事情是这样的:
- 如果条件为真,则返回value1。
- 如果条件为false,则返回value2。
使用if – else的上述等价代码为:
if condition {
value1
} else {
value2
}
为什么使用三元条件运算符?
你可能想知道,如果条件运算符的作用与if-else语句相同,那么我们为什么要使用条件运算符呢?使用它的主要目的是使代码更短、更易读。
对于简单的条件,可以用比if-else更少的代码在一行中求值。
示例1:使用三元条件运算符的简单示例
print(true && false ? "条件为真": "条件为假")
使用if – else的上述等价代码为:
if true && false {
print("条件为真")
} else {
print("条件为假")
}
在上面的程序中,表达式true
&& false的计算结果为false,因此语句返回条件为false的字符串,print语句在控制台中输出字符串。
如果将表达式更改为true
|| false,则语句的计算结果为true并返回字符串,条件为true, print语句将在控制台中输出字符串。
使用三元条件运算符要注意的地方
三元条件运算符也可以作为if-else-if语句的替代。
使用三元条件运算符,你可以用单行替换if-else-if代码的多行。
然而,这可能不是一个好主意。
例2:嵌套if else使用三元条件运算符
if true && false {
print("结果为 \(true && false)")
} else if true || false {
print("结果为 \(true || false)")
} else if false || false {
print("结果为 \(false || false)")
} else {
print("默认else语句")
}
上面使用三元条件运算符的等价代码是:
print(true && false ? "结果为 \(true && false)" : true || false ? "结果为 \(true || false)" : false || false ? "结果为 \(false || false)" : "条件未知")
在上面的程序中,虽然if-else-if语句被条件运算符用单行代替,三元条件运算符中的表达式确实很难理解。
所以如果觉得难以理解,只要坚持使用三元条件运算符作为if-else语句的替代语句即可。