位置:首頁 > 高級語言 > Swift教學 > Swift字符串是值類型

Swift字符串是值類型

字符串是值類型(Strings Are Value Types)

Swift 的String類型是值類型。 如果您創建了一個新的字符串,那麼當其進行常量、變量賦值操作或在函數/方法中傳遞時,會進行值拷貝。 任何情況下,都會對已有字符串值創建新副本,並對該新副本進行傳遞或賦值操作。 值類型在 結構體和枚舉是值類型 中進行了說明。


注意:
與 Cocoa 中的NSString不同,當您在 Cocoa 中創建了一個NSString實例,並將其傳遞給一個函數/方法,或者賦值給一個變量,您傳遞或賦值的是該NSString實例的一個引用,除非您特彆要求進行值拷貝,否則字符串不會生成新的副本來進行賦值操作。
 

Swift 默認字符串拷貝的方式保證了在函數/方法中傳遞的是字符串的值。 很明顯無論該值來自於哪裡,都是您獨自擁有的。 您可以放心您傳遞的字符串本身不會被更改。

在實際編譯時,Swift 編譯器會優化字符串的使用,使實際的複製隻發生在絕對必要的情況下,這意味著您將字符串作為值類型的同時可以獲得極高的性能。