2014-10-28 35 views
3

我希望有人能澄清一下Swift中toString()和String()之間是否有區別。toString vs Swift中的字符串

例子:

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" 

回答

6

有一個爲你給出的例子沒有區別,因爲String有一個構造函數,將採取Int。 (String(...)String類型的構造函數,而不是函數。)嘗試使用Double,您將看到編譯器錯誤。

toString()然而,可以採取任何類型的實例 - 它的泛型參數沒有約束。它基本上與使用字符串插值將實例轉換爲字符串相同,但是以函數形式:

**Swift 3** 
let myNumber = 3.3 
let myNumberString = String(myNumber) 
let myInterpolatedString = "\(myNumber)" 
// both are "3.3" 
+0

感謝您的澄清Nate – 2014-10-28 03:28:46