swift学习文档(笔记)

2020-01-08 22:43:23刘景俊

自定义运算符

个性的运算符只能使用这些字符 / = - + * % < >!& | ^。~


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教程频道。