Swift学习笔记之---运算符

Posted 油醋三椒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift学习笔记之---运算符相关的知识,希望对你有一定的参考价值。

运算符

  1. 赋值运算符("=")用于值的传递,其结果是量值被赋了具体的值,相等运算符("==")则用于比较操作,其会返回一个Bool类型的逻辑值。

  2. 取余运算符("%")必须在整数间进行运算时使用

  3. 自增与自减运算符在Swift 2.0及之前版本可以使用,Swift 2.2版本后,基于代码可读性与减少歧义的考虑,移除了这两个运算符

  4. Swift语言中逻辑运算(逻辑与运算符“&&”、逻辑或运算符“||”、逻辑非运算符“! ”)的操作数必须为严格的Bool类型

  5. Swift中对于元组的比较操作,注意:首先要比较的元组中元素个数和对应位置的元素类型必须相同,其次元组中每一个元素必须支持比较运算操作。

  6. 条件运算符可以简化为:

    var m = 3
    var n = 6
    if m > n {
      print("m>n")
    } else {
      print("m<n")
    }
    // 与上面结果相同
    print(m>n ? "m>n":"m<n")
    
  7. 空合并运算符

    可选值类型是Swift语言的一个独特之处,空合并运算符是针对可选类型而设计的运算符。首先来看一段示例代码:

    var q: Int? = 8
    var value: Int
    if q != nil {
      value = q!
    } else {
      value = 0
    }
    

    根据if语法简化,上面代码可写为:

    var q: Int? = 8
    var value: Int 
    value = (q != nil)? q!:0
    

    使用条件运算符改写后的代码变得十分简单,Swift语言中还提供了空合并运算符来更加简洁地处理这种Optional类型值的条件选择结果,空合并运算符由"??"表示,代码如下:

    var q: Int? = 8
    var value: Int 
    value = q ?? 0
    

    空合并运算符“? ? ”是一个二元运算符。其需要两个操作数,第一个操作数必须为一个Optional值,如果此Optional值不为nil,则将其进行拆包操作,并作为空合并运算的运算结果。如果此Optional值为nil,则会将第二个操作数作为空合并操作运算的结果返回。使用空合并操作符来处理有关Optional值的选择逻辑将十分方便。

  8. 区间运算符

    在Objective-C语言中提供了NSRange这样一个结构体来描述范围,虽然直观了许多,但开发者在使用时需要构造NSRange实例,使用起来就略显繁琐。

    Swift中除了支持Range结构体来描述范围外,还提供了一个区间运算符来快捷直观地表示范围区间,示例如下:

    // 创建范围 >=0 且 <= 10 的闭区间
    var range1 = 0...10
    // 创建范围 >=0 且 <10 的半开区间
    var range2 = 0...<10
    
    可以通过**"~="运算符来检查某个数字是否包含于范围中**,示例如下:
    
    ​```swift
    print(range1 ~= 8)     // 输出true
    

以上是关于Swift学习笔记之---运算符的主要内容,如果未能解决你的问题,请参考以下文章

Swift学习笔记之---运算符

《从零开始学Swift》学习笔记(Day 10)——运算符是“ +-*/ ”吗?

swift学习笔记一之常量和变量

《从零开始学Swift》学习笔记(Day 57)——Swift编码规范之注释规范:

Swift学习笔记——基本运算符

《从零開始学Swift》学习笔记(Day 57)——Swift编码规范之凝视规范:文件凝视文档凝视代码凝视使用地标凝视