美文网首页工作生活
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中的操作符

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