Swift 三元条件运算符
提示
- 三元运算符概念:Swift 的三元运算符用于根据条件执行不同的表达式,格式为
条件 ? 表达式1 : 表达式2
。 - 简化
if...else
语句:三元运算符可以替代简单的if...else
语句,使代码更简洁和可读。 - 避免嵌套使用:虽然支持嵌套三元运算符,但不建议使用,因为它们可能会使代码变得复杂和难以理解。
三元运算符可以在某些场景下替换 if...else
语句。
在学习三元运算符之前,请确保了解 Swift if...else 语句。
Swift 中的三元运算符
三元运算符评估一个条件,并根据该条件执行代码块。其语法为
条件 ? 表达式1 : 表达式2
这里,三元运算符评估 条件
并
- 如果
条件
为 true,则执行表达式1
。 - 如果
条件
为 false,则执行表达式2
。
三元运算符接受 3 个操作数(条件
、表达式1
和 表达式2
)。因此,名称为 三元运算符。
示例:Swift 三元运算符
// 程序用于检查通过或不通过
let 分数 = 60
// 使用三元运算符
let 结果 = (分数 >= 40) ? "通过" : "不通过"
print("你 " + 结果 + " 了考试")
输出
你 通过了考试。
在上面的示例中,我们使用了三元运算符来检查通过还是不通过。
let 结果 = (分数 >= 40) ? "通过" : "不通过"
这里,如果 分数
大于或等于 40,通过
被赋值给 结果
。否则,不通过
被赋值给 结果
。
用三元运算符替代 if...else
三元运算符可以用来替代某些类型的 if...else
语句。例如,
你可以将这段代码
// 检查数字是正数还是负数
let 数字 = 15
var 结果 = ""
if (数字 > 0) {
结果 = "正数"
}
else {
结果 = "负数"
}
print(结果)
替换为
// 使用三元运算符检查数字是正数还是负数
let 数字 = 15
let 结果 = (数字 > 0) ? "正数" : "负数"
print(结果)
输出
正数
这里,两个程序都给出了相同的输出。然而,使用三元运算符使我们的代码更加可读和清晰。
嵌套三元运算符
我们可以在一个三元运算符内使用另一个三元运算符。这在 Swift 中被称为嵌套三元运算符。例如,
// 程序用于检查数字是正数、零还是负数
let 数字 = 7
let 结果 = (数字 == 0) ? "零" : ((数字 > 0) ? "正数" : "负数")
print("这个数字是 \(结果)。")
输出
这个数字是 正数。
在上述示例中,如果条件 数字 == 0
为 false
,则执行嵌套的三元运算符 ((数字 > 0) ? "正数" : "负数")
。
注意: 不建议使用嵌套三元运算符,因为它们会使代码更复杂。