美文网首页
swift 4.x 基本运算符

swift 4.x 基本运算符

作者: redstar110 | 来源:发表于2019-10-22 14:16 被阅读0次

1. 简单赋值运算符

2. 复合赋值运算符

3. 比较运算符

4. 正号和负号运算符

5. 标准算术运算符

6. 取余运算符

7. 逻辑运算符

8. 三目条件运算符

9. 区间运算符

区间运算符有两种:
(1)...
闭区间运算符,a...b表示[a, b]。
(2)..<
半闭半开区间运算符,a..<b表示[a, b)。
几点说明:
1)当a和b都是整数时,a...b等价于a..<(b + 1)。
2)当a等于b时,a..<b表示空区间。
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..<b表示空区间
(5..<5).forEach { print($0) }

// a不能大于b
// 9...8

// a不能大于b
// 9..<8

// 如果b是负数,必须用小括号将其括起来
// -5...-2

// 如果b是负数,必须用小括号将其括起来
// -5..<-2

// 如果b是负数,必须用小括号将其括起来
-5...(-2)
-5..<(-2)

/*
 半闭半开区间运算符在遍历数组时比较有用,因为数组元素的索引是从0开始的。
 */
let array = ["Swift", "Java", "Kotlin", "Objective-C"]

for i in 0..<array.count {
    print("\(array[i])")
}
/*
 调用区间的contains(_:)方法可以判断区间内是否包含参数指定的元素。
 */
(5..<9).contains(8)
(5..<9).contains(9)
/*
 访问区间的isEmpty属性可以判断区间是否为空。
 */
(5..<9).isEmpty
(5..<5).isEmpty
/*
 访问区间的count属性可以取得区间的元素个数。
 */
(5..<9).count
(5..<5).count

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 运算符

    Swift 基本运算符 标签(空格分隔): swift 运算符 zybuluo swift 运算符 特性 赋值运算...

  • swift 4.x 基本运算符

    1. 简单赋值运算符 2. 复合赋值运算符 3. 比较运算符 4. 正号和负号运算符 5. 标准算术运算符 6. ...

  • 赋值和算数运算符

    基本概念 一元运算符、二元运算符、三元运算符Swift 只有一个三元运算符 a ? b : c Swift 运算符...

  • iOS 横竖屏 旋转 解决方案 - Swift

    本文基于 Swift 3.x,由于 Swift 4.x 在语法规则上有较大变动,后续出一个 Swift 4.x 版...

  • Swift 2.0 学习笔记 2_基本运算符

    //: 基本运算符 // Swift的赋值符(=)不返回值, 算术运算符(+, -, *, /, % 等)会检测并...

  • Operators(运算符)

    基本运算符 Swift 和其他编程语言一样, 有+, -, *, / 等运算符, = 代表赋值符号 复合运算符 有...

  • 27、【Swift】高级运算符 - Advanced Opera

    Swift 运算符基本运算符高级运算符(包括 C 或 Objective-C 所有按位和移位运算符。) 与 C 的...

  • Swift高级运算符

    Swift相比OC在运算符上做了一些改变, 但是基本的运算符,比如 +,-,*,/,%, 逻辑运算符,比如 &&,...

  • 26_高级运算符

    除了基本运算符,Swift 中还有许多可以对数值进行复杂运算的高级运算符。这些高级运算符包含了在位运算符和移位运算...

  • Swift编程二十八(高级运算符)

    案例代码下载 高级运算符 除了基本运算符中描述的运算符之外,Swift还提供了几个执行更复杂值操作的高级运算符。这...

网友评论

      本文标题:swift 4.x 基本运算符

      本文链接:https://www.haomeiwen.com/subject/mfntvctx.html