在 Swift 中的结构中使用突变的性能优缺点是什么

Tal*_*ion 7 struct functional-programming ios swift

我一直在使用一些函数式程序来避免改变结构,并且没有明确的解释哪种方法在性能方面是最好的。

在这种情况下,任何人都可以帮忙并建议性能和内存管理方面的最佳解决方案是什么?

例如:

变异选项

struct User {

    var name:String

    init(name:String) {
         self.name = name
    }

    mutating func change(name:String){
        self.name = name
    }
 }
Run Code Online (Sandbox Code Playgroud)

非变异选项

 struct User {

    var name:String

    init(name:String) {
         self.name = name
    }

    func change(name:String) -> User {
        return User(name: name)
    }
 }
Run Code Online (Sandbox Code Playgroud)