当专门处理非可选String
值时,字符串插值和字符串串联有什么区别?字符串插值和字符串串联之间的区别
struct MyModel {
let value1: String
let value2: String
var displayNameByConcatenation: String {
return value1 + "-" + value2
}
var displayNameByInterpolation: String {
return "\(value1)-\(value2)"
}
}
- 是否有将要在那里
displayNameByConcatenation
和displayNameByInterpolation
不同的案例?就像长Unicode字符串一样? - 是否有可能以某种方式覆盖运算符
+
的行为或插值的行为使它们在上例中不同? - 比另一个更快/更慢吗?
请注意,从this question我们知道字符串插值将使用CustomStringConvertible的description
。但String
串联(运营商+
)也调用description
?
我认为我们可以有把握地假设'一*字符串description' *返回字符串本身,这意味着没有什么区别。 –
你试过重写'+'吗?你测量过速度了吗? –
@MartinR速度测试完成后,使用CharacterSet的一些代码来获得乐趣。 –