自定义运算符
个性的运算符只能使用这些字符 / = - + * % < >!& | ^。~
operator prefix +++ {}
@prefix @assignment func +++ (inout vector: Vector2D) -> Vector2D {
vector += vector
return vector
}
结合性(associativity)的值默认为none,可用left,right,none,优先级(precedence)默认为100。
operator infix +- { associativity left precedence 140 }
func +- (left: Vector2D, right: Vector2D) -> Vector2D {
return Vector2D(x: left.x + right.x, y: left.y - right.y)
}
let firstVector = Vector2D(x: 1.0, y: 2.0)
let secondVector = Vector2D(x: 3.0, y: 4.0)
let plusMinusVector = firstVector +- secondVector
// plusMinusVector 此时的值为 (4.0, -2.0)
来自:http://jser.me
注:相关教程知识阅读请移步到swift教程频道。








