美文网首页工作生活
Swift中的操作符

Swift中的操作符

作者: 盖小聂 | 来源:发表于2019-06-30 16:58 被阅读0次

1、…和..<
2、??
3、自定义操作符

1、…和..<
  • Range操作符
    0…3:全闭合的范围操作,从0开始到3为止,包括3
    0..<3:从0开始到3为止,不包括3
  • 对于这样得到的数字范围,我们可以对它进行for...in的访问
  • 我们还可以通过...和..<来连接两个字符串。一个常见的使用场景就是检查某个字符是否是合法的字符。比如像确认一个单词里的全部字符都是小写英文字母("a"…"z"),或者确定某一个字符是不是有效的ASCII字符(\0...~)等等
2、??
  • ?? :左值如果为非nil的optional值,结果就为左值,否则就为右值
3、自定义操作符
  • Swift支持操作符重载,包括系统已经定义了的+、-、*等,也可以自己定义新的操作符,自己定义新的操作符比重载系统已经定义的操作符要麻烦一些。
infix operator +* {    
  associativity none    
  precedence 160
}
  • infix:表示要定义的是一个中位操作符,即前后都是输入,向??就是一个中位操作符;其他的修饰子还包括prefix和postfix。
  • associativity:定义了结合律,即如果多个同类的操作符顺序出现的计算顺序。比如常见的加法和减法都是left,就是说多个加法同时出现时按照从左往右的顺序计算(因为加法满足交换律,所以这个顺序无所谓,但是减法的话计算顺序就很重要了)。点乘的结果是一个Double,不在会和其他点乘结合使用,所以这里写成none
  • precedence:运算的优先级,越高的话越优先进行运算。Swift中乘法和除法的优先级是150,加法和减法是140,这里我们定义点积优先级160,就是说应该早于普通的乘除进行运算。

相关文章

  • Swift 操作符

    Swift 支持重载操作符这样的特性。可以直接重载像 +,-,* 这样的操作符,因为 Swift 中已经有定义了 ...

  • iOS学习周报三

    在Swift中用??操作符替代判空 在C#中也是有??操作符的,用法和Swift类似用法如下: 相当于 开源项目 ...

  • Language Guide --- Type Casting

    swift中的类型转换使用is 和 as 操作符。 Checking Type 使用is操作符判断一个实例是否是特...

  • Swift教程之基本操作符

    基本操作符 本章介绍Swift中的常见操作符,并介绍使用自定义操作符实现复杂运算。 术语 操作符包括一元、二元和三...

  • Swift 模式匹配

    在 Swift 中,使用 ~= 来表示模式匹配的操作符。如果我们看看 API 的话,可以看到这个操作符有下面几种版...

  • swift初探

    ?操作符 Swift中是可以声明一个没有初始值的属性,Swift中引入了可选类型(Optional)来解决这一问题...

  • Swift中的 as、as!、as? 三种操作符如何使用

    Swift中的 as、as!、as? 三种操作符如何使用https://www.cnblogs.com/dukew...

  • Swift中的操作符

    1、…和..<2、??3、自定义操作符 1、…和..< Range操作符0…3:全闭合的范围操作,从0开始到3为止...

  • Currying Operator

    柯里化 操作符 可以直接重载+ - 乘操作符,在swift中有了这些操作符的定义,如果想自定义操作符,比如点乘+*...

  • swift as,as!,as?

    Swift中的 as、as!、as? 三种操作符如何使用 类型转换、switch 语句中进行模式匹配 as!向下转...

网友评论

    本文标题:Swift中的操作符

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