1. 程式人生 > >swift自定義運算子

swift自定義運算子

參考:https://www.jianshu.com/p/4f025476701a

//運算子函式要宣告在檔案的最外層,不能在類裡

//宣告•的precedencegroup名:PointMultiplicationPrecedence
precedencegroup PointMultiplicationPrecedence {
    associativity: left//左結合
    higherThan: AdditionPrecedence//優先順序:比加法高
    lowerThan: MultiplicationPrecedence//優先順序:比乘法低
}

infix operator •: PointMultiplicationPrecedence

/// Point的數量積(Option+8) /// /// - Parameters: /// - left: One Point /// - right: Other Point /// - Returns: (left.x * right.x + left.y + right.y) func •(left: CGPoint, right: CGPoint) -> Double { return Double(left.x * right.x + left.y + right.y) }