在swift中,一旦创建了一个字符串对象不可变吗?

时间:2016-04-11 23:55:17

标签: string swift immutability

在java中,一旦创建,字符串对象就是不可变的。有些方法似乎更改了字符串对象,但它实际上做的是从原始字符串对象创建一个新的字符串对象以及修改。我只是想知道SWIFT中的String对象是否就是这种情况?

1 个答案:

答案 0 :(得分:3)

是的,实际上是。 String是结构,struct是值类型

这就是为什么你不能变异"您拥有let引用的String(或任何其他值类型);这是因为您无法将新对象写回let引用。

您可以通过var引用已连接setter观察者的String(或任何其他值类型)来轻松证明这一点。当你"变异"时,你会看到,你设置了。

相关问题