相关疑难解决方法(0)

Swift"可变"字符串真的可变,还是像Java字符串一样?

Swift编程语言中,在字符串部分String Mutability一节中,它说:

String可以通过将特定分配给变量(在这种情况下可以修改)或常量(在这种情况下不能修改)来指示特定是否可以修改(或变异):

并给出示例代码:

var variableString = "Horse"
variableString += " and carriage"
// variableString is now "Horse and carriage"

let constantString = "Highlander"
constantString += " and another Highlander"
// this reports a compile-time error - a constant string cannot be modified”
Run Code Online (Sandbox Code Playgroud)

这本书中的iBooks 这里,或在Web浏览器在这里.

在下一段中,它声称"字符串是值类型".

我的问题:对我来说,这看起来不像是一个可变的字符串.它看起来像我在Java(或C#,Python和其他)中习惯的:具有可变变量绑定的不可变字符串对象.换句话说,有一个对象"Horse",然后它创建了一个新的String对象"Horse and carriage"并将其设置为相同的变量.而且由于无法区分对不可变对象的引用与值类型(对吗?)之间的区别,我想知道:为什么他们这样描述它?这些Swift字符串与它在Java中的方式有​​什么区别吗?(或C#,Python,Objective-C/NSString)

string immutability swift

18
推荐指数
2
解决办法
1万
查看次数

标签 统计

immutability ×1

string ×1

swift ×1