美文网首页iOS Developer程序员
swift3.0 自定义操作符

swift3.0 自定义操作符

作者: 恨鐵不成金 | 来源:发表于2017-06-02 14:04 被阅读121次

如果我们要新加操作符的话,需要先对其进行声明,告诉编译器这个符号其实是一个操作符。添加如下代码

precedencegroup DorProductPrecedence{
   
   associativity: none
   higherThan: MultiplicationPrecedence
}

infix operator +*: DorProductPrecedence

precedencegroup

定义一个操作符优先级(优先级的完整列表)

associativity

多个同类操作符顺序出现的计算顺序

higherThan

运算符的优先级, higherThan指的是高于某个其他组, 也可以用lowerThan来指定优先级低于某个其他组

infix

表示定义的是一个中位操作符, 其他的修饰符包括prefix 和 postfix

完整示例代码:

struct Vector2D {
    
    var x:Double = 0.0
    var y:Double = 0.0
}


precedencegroup DorProductPrecedence{
    
    associativity: none
    higherThan: MultiplicationPrecedence
}

infix operator +*: DorProductPrecedence  

func +* (left: Vector2D, right: Vector2D) -> Vector2D {
    return Vector2D(x: left.x + right.x, y: left.y + right.y)
}




let v1 = Vector2D(x: 1.2, y: 2.1)
let v2 = Vector2D(x: 2.3, y: 4.4)
let v3 = v1 +* v2
        
print(v3)

相关文章

  • swift3.0 自定义操作符

    如果我们要新加操作符的话,需要先对其进行声明,告诉编译器这个符号其实是一个操作符。添加如下代码 precedenc...

  • Swift 3张图片轮播

    写的不好 ~ swift3.0 可自定义轮播内容 用法=============== 代理协议方法

  • Swift一款丝滑的侧滑返回

    SwiftFullScreenPop - 基于Swift3.0实现全屏侧滑返回 Features 解决自定义nav...

  • RxJava学习笔记之Single

    特点: 使用说明: 操作符: 操作符返回值说明composeSingle创建一个自定义的操作符concat and...

  • Currying Operator

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

  • Swift学习:操作符

    1.标准操作符 逻辑中还有||位操作符中还有| 2.重载操作符(操作符函数) 2.1.==可以针对自定义类型重载标...

  • Swift3.0 自定义打印

    在Swift3.0之前自定义打印,可以使用 FILE 、FUNCTION、LINE、COLUMN 指代文件路径、方...

  • Swift教程之基本操作符

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

  • RxJava 反应式编程阅读笔记1 操作符 map

    操作符的含义其实就是函数,这也是 RxJava 强大之处,它有非常多的操作符支持各种场景,甚至可以自定义操作符。并...

  • 自定义身份证键盘(Swift)

    自定义Swift3.0 身份证键盘 ??中文介绍 截图 配置 iOS 8.0+ Xcode 8 Swift 3.0...

网友评论

    本文标题:swift3.0 自定义操作符

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