I have been using some functional program to avoid mutating a struct and there are no clear explanation which approach is best in terms of performance.
Can anyone help out and suggest what is the best solution for in terms of performance and memory management in this case?
For example:
Mutating Option
struct User {
var name:String
init(name:String) {
self.name = name
}
mutating func change(name:String){
self.name = name
}
}
Non Mutating Option
struct User {
var name:String
init(name:String) {
self.name = name
}
func change(name:String) -> User {
return User(name: name)
}
}