ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Swift 三元条件运算符 > 原文: [https://www.programiz.com/swift-programming/ternary-conditional-operator](https://www.programiz.com/swift-programming/ternary-conditional-operator) #### 在本文中,您将学习使用条件或三元运算符来更改程序的控制流。 三元条件运算符`"? :"`是[`if-else`语句](/swift-programming/if-else-statement "Swift if-else statement")的简写。 三元条件运算符的语法为: ```swift condition ? value1 : value2 ``` * * * ## 三元条件运算符如何工作? 这是这样的 * 如果`condition`为`true`,则返回`value1`。 * 如果`condition`为`false`,则返回`value2`。 上面的等效代码使用`if-else`是: ```swift if condition { value1 } else { value2 } ``` * * * ## 为什么使用三元条件运算符? 您可能想知道如果条件运算符执行与`if-else`语句相同的工作,为什么还要使用条件运算符。 使用它的主要目的是使代码更短,更易读。 对于简单条件,您可以用比`if-else`更少的代码在一行中对其进行求值。 * * * ## 示例 1:使用三元条件运算符的简单示例 ```swift print(true && false ? "The condition is true": "The condition is false") ``` The above equivalent code using if - else is: ```swift if true && false { print("The condition is true") } else { print("The condition is false") } ``` 当您运行上述程序时,输出将是: ```swift The condition is false ``` 在上述程序中,表达式`true && false`的值为`false`,因此该语句返回字符串`The condition is false`,并且`print`语句在控制台中输出该字符串。 如果将表达式更改为`true || false`,则该语句的计算结果为`true`,并返回字符串`The condition is true`,并且`print`语句在控制台中输出该字符串。 * * * ## 要记住的事情 三元条件运算符也可以用作`if-else-if`语句的替代项。 通过使用三元条件运算符,您可以用单行替换`if-else-if`代码的多行。 但是,这可能不是一个好主意。 ### 示例 2:使用三元条件运算符替代`if-else`嵌套 ```swift 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") } ``` 上面使用三元条件运算符的等效代码为: ```swift print(true && false ? "Result is \(true && false)" : true || false ? "Result is \(true || false)" : false || false ? "Result is \(false || false)" : "The condition is unknown") ``` 当您运行上述程序时,两个输出将是: ```swift Result is true ``` 在上述程序中,尽管`if-else-if`的语句通过使用条件运算符替换为单行。 三元条件运算符中使用的表达式确实很难理解。 因此,仅坚持使用三进制条件运算符作为`if-else`语句的替代。