我喜欢swift中的值语义,但我担心变异函数的性能.假设我们有以下内容struct
struct Point {
var x = 0.0
mutating func add(_ t:Double){
x += t
}
}
Run Code Online (Sandbox Code Playgroud)
现在假设我们创建一个Point并将其变异为:
var p = Point()
p.add(1)
Run Code Online (Sandbox Code Playgroud)
现在内存中的现有结构变异,或者被struct替换为新的实例
self = Point(x:self.x+1)
Run Code Online (Sandbox Code Playgroud)