struct A {
let name: String = "Ben"
var age: Int = 10
}
let a = A()
Q:
1. a.name = "TTT"
2. a.age = 9
會發生啥事
兩題都是編譯不過
1.是因為內部let 外部也是let
2.外部要var a = A()
原理swift設計上安全跟效能上
value type的設計上有mutating,編譯器要programmer好好面對這件事(誤建議去找一下memory layout,或是用swiftc去編譯 AST or SIL出來看看狀況吧原理性的答案。