想要了解更多有关的if语句,请参阅控制流。
三元条件运算符
三元条件运算符是一种特殊的运算符,有三个部分,其形式为question? answer1:answer2.这是一个用来测试两种表达式基于输入是真或是 假的快捷方式。如果question? 为真时, 它评估answer1并返回其值; 否则,它评估answer2并返回其值。三元条件运算符是下面的代码的简化:
if question {
answer1
} else {
answer2
}
这里举一个列子,计算一个表行像素的高度,如果行有一个头,行高应该是50像素,比内容要高度要高。如果行没有头是20像素:
复制代码
let contentHeight = 40
let hasHeader = true
let rowHeight = contentHeight + (hasHeader ? 50 : 20)
// rowHeight is equal to 90
前面的例子也可以用下面的的代码:
复制代码
let contentHeight = 40
let hasHeader = true
var rowHeight = contentHeight
if hasHeader {
rowHeight = rowHeight + 50
} else {
rowHeight = rowHeight + 20
}
// rowHeight is equal to 90
第一个例子使用的三元条件运算符,意味着rowHeight可以在一行代码被设置为正确的值。这比第二个示例更简洁, 不需要课外的rowHeight变量, 因为它的价值不需要在一个if语句中修改。
三元条件运算符提供了一个高效的写法来决定哪个表达式会被执行。不过还是请小心使用三元条件运算符,其简洁性如果过度使用会导致阅读代码的困难。要避免多个实例的三元条件运算符组合成一个复合语句。
范围运算符
Swift包含两个范围运算符,能快捷的表达一系列的值
封闭范围运算符
封闭范围运算符(a…b)定义了一个范围,从a到b,并包括a和b的值。








