swift 4.x 基本运算符

1. 简单赋值运算符

2. 复合赋值运算符

3. 比较运算符

4. 正号和负号运算符

5. 标准算术运算符

6. 取余运算符

7. 逻辑运算符

8. 三目条件运算符

9. 区间运算符

区间运算符有两种:
(1)...
闭区间运算符,a...b表示[a, b]。
(2)..<
半闭半开区间运算符,a.. 几点说明:
1)当a和b都是整数时,a...b等价于a..<(b + 1)。
2)当a等于b时,a.. 3)a不能大于b,否则会导致运行时错误。
4)如果b是负数,必须用小括号将其括起来,否则会导致编译错误。

(5...8).forEach { print($0) }

// 当a和b都是整数时,a...b等价于a..<(b + 1)
(5..<9).forEach { print($0) }

// 当a等于b时,a..

10. NilCoalescing运算符

NilCoalescing运算符用??表示,其语法格式为:a ?? b,对应的运算规则为:如果a为nil,返回b的值;如果a不为nil,返回a包装的实际值。
因此,a ?? b等同于:a == nil ? b : a!。其中,a总是可选类型,b的类型必须与a包装的实际值的类型保持一致。

var i: Int? = 13

i ?? 18

i = nil
i ?? 18

let defaultColor = "red"
var userDefinedColor: String?
var colorToUse: String

colorToUse = userDefinedColor ?? defaultColor

userDefinedColor = "blue"
colorToUse = userDefinedColor ?? defaultColor

/*
 NilCoalescing运算符是短路运算符,也就是说,对于a ?? b,如果a不为nil,将不再计算b。
 */
func make() -> Int {
    print("函数make()被调用了")
    return 18
}

// i = 5
i = nil

i ?? make()

11. 运算符的优先级和结合性

你可能感兴趣的:(swift 4.x 基本运算符)