swift三元条件运算符(三目运算符) – Swift最新教程

上一章Swift教程请查看:swift运算符的优先级和结合性
在本文中,你将学习如何使用条件运算符或三元运算符来更改程序的控制流。
【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语句的替代语句即可。

    推荐阅读