您好,登錄后才能下訂單哦!
本文來自于瘋子們的開源圖書
Swift的String類型是值類型。如果你創建一個新的String值,把它傳遞給一個函數或方法,或者被賦給一個常量或變量時,字符串值的拷貝的。在每種情況下,會創建一個當前字符串的副本,傳遞的或者是賦值的都是新新創建的副本,而不是原來的版本了。值類型在“結構體和枚舉都是值類型”當中有詳細的描述。
注意:
這個行為不同于在Cocoa的NSString。當你在Cocoa中創建了一個NSString實例,并且把它傳給一個函數或方法或把它賦給一個變量,你總是傳遞或賦一個引用給相同的NSString.沒有拷貝的字符串代替,除非特別要求。
Swift這種”默認拷貝字符串“的行為確保當一個方法或函數傳遞給你一個字符串值的時候,你擁有準確的String值,而不用管它是來自哪里的。你可以很確信的知道,傳遞的字符串不會被改變,除非你自己修改它。
在底層,Swift的編譯器優化了字符串的使用,這樣可以保證只有當必要的時候,才會進行值的拷貝。這就意味著當使用值類型這種方式處理字符串你的時候,總是能得到最好的性能。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。