let
プロパティを更新する挙動をするので利用者を驚かせてしまうと思うんですが、 var character = Character(name: "ゆうしゃ", hp: 153) character.foo() print(character.name) // "Hoge"
↓これだと驚かないと思うんですよね。 var character = Character(name: "ゆうしゃ", hp: 153) character = Character(name: "Hoge", hp: character.hp) print(character.name) // "Hoge"
var
自体ができることをどうこうしたいというわけではなくてlet
プロパティが書き換えられてしまうことを防ぎたいということです。