callfunc(string: "\(string)")
callfunc(string: string)
我打電話相同的函數具有相同的字符串值,但方法不同...... 讓我知道它有什麼不同?我也想知道在內存消耗方面。「(字符串)」和字符串之間的區別?
callfunc(string: "\(string)")
callfunc(string: string)
我打電話相同的函數具有相同的字符串值,但方法不同...... 讓我知道它有什麼不同?我也想知道在內存消耗方面。「(字符串)」和字符串之間的區別?
沒有差別,"\()"
如果你的字符串是一樣的東西
let someInt: Int = 20
print("my integer is \(someInt)") //"my integer is 20"
即不String
在首位使用。
沒有記憶的區別,因爲在String
是Swift
不引用類型,它是Struct
,所以你傳遞的string
拷貝到你的callfunc
,而不是引用。
如果您的字符串變量是隱式解包的可選項,則會有所不同。在這種情況下,您傳遞「可選(字符串)」作爲字符串值 – Kubba
當您的字符串隱式解包可選時,有區別。考慮例如:
func some(string: String)
{
print(string)
}
let string: String! = "s"
some(string: string)
some(string: "\(string)")
的輸出將是:
s
Optional("s")
[夫特語言指南:字符串內插](https://developer.apple.com/library/content/documentation/Swift/Conceptual/ Swift_Programming_Language/StringsAndCharacters.html#// apple_ref/doc/uid/TP40014097-CH7-ID292) – vadian