我在 Xcode 6.1(6A1046a) 中得到了这个,就像我在 6.0 中所做的那样:
var dog:String = "Dog"
let plural:Character = "s"
let dogs:String = dog.append(plural)
Playground 报告:
Playground execution failed: :29:23: error: cannot invoke 'append' with an argument of type 'Character' let dogs:String = dog.append(plural)
为什么我不能这样做,虽然这很好:
dog.append(plural)
最佳答案
错误消息具有误导性,但问题在于
mutating func append(c: Character)
修改其接收者并返回Void
(又名()
又名“nothing”):
var dog:String = "Dog"
let plural:Character = "s"
dog.append(plural) // now dog contains the string "Dogs"
与
let dogs = dog + String(plural)
您可以创建一个新字符串。
备注:您实际上可以分配
let foo = dog.append(plural)
但这会将空元组 ()
分配给 foo
(这不是您想要的)。
代码中的错误消息是由于您无法分配 ()
到 String
变量。
关于string - Swift 字符串,字符连接加赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26413166/