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语句的替代语句即可。

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?