swift 之 自定义运算符


/*
 自定义运算符
 新的运算符要在全局作用域内,使用operator关键字进行声明,同时还要指定
 prefix(z前缀)、 infix(中缀) 、 postfix(后缀)
 
 */


struct Coordinate2D{
    var x  = 0.0, y = 0.0
}


prefix operator +++
extension Coordinate2D {
    static prefix func +++ (vector: inout Coordinate2D) -> Coordinate2D {
        vector.x += vector.x
        vector.y += vector.y
        return vector
    }
}
var roBeDouble =  Coordinate2D(x: 1.0, y: 4.0)
let afterDoubling = +++roBeDouble
print(afterDoubling)


详细请参考:https://www.cnblogs.com/comsokey/p/Swift1.html

你可能感兴趣的:(swift 之 自定义运算符)