我希望有人能为我澄清一下,如果Swift中的toString()和String()之间存在差异。
示例:
var myInteger: Int
myInteger = 9
let myString1 = "I like to play " + toString(myInteger) + "-ball pool"
let myString2 = "I like to play " + String(myInteger) + "-ball pool"
答案 0 :(得分:6)
您给出的示例没有区别,因为String
的构造函数会占用Int
。 (String(...)
是String
类型的构造函数,而不是函数。)尝试使用Double
并且您将收到编译器错误。
toString()
可以采用任何类型的实例 - 其泛型参数没有约束。它与使用字符串插值将实例转换为字符串基本相同,但是以函数形式:
**Swift 3**
let myNumber = 3.3
let myNumberString = String(myNumber)
let myInterpolatedString = "\(myNumber)"
// both are "3.3"