一: String概述
不同於Objective-C中的NSString與NSMutableString,在Swift中,存儲String類型的數據能否改變,取決於定義數據是var還是let,var是變量,能改變String的長度,增加,修改,刪除其中的每一個字符等操作,而let是常量,一旦定義后就不能再修改其內容。
Swift的String類型是值類型,如果你創建了一個新的String類型的數據,當它被賦值傳遞時會進行值拷貝,產生一個副本。
二:Character概述
String其實是作為一個Character類型的集合來使用,可以通過遍歷String當中的每一個元素來獲取它其中的每一個Character數據。
在Swift中,用雙引號來表示一個字符,也就是說Character在Swift被解釋為長度等於1的一個String類型,Character類型必須只能包含一個字符。
字符(Character)類型必須用雙引號來表示,如果用單引號會報編譯錯誤
let exclamation: Character = "!"
還可以用Character數組來創建一個字符串
let catCharacter: [Character] = ["C", "a", "t", "!"] let catString = String(catCharacter)
三:String運算
let string1 = "hello" let string2 = " there" var welcome = string1 + string2 //字符串拼接,前提是必須保證+運算的所有元素都不是可選變量,必須是有值的String類型,不能是String?可選類型,可選類型不能夠參與+運算
//字符串的插入運算,格式為”test string \(varInstance)”,必須保證varInstance不是可選類型的,varInstance必須有確定的值
var instruction = "look over" instruction += string2 let exclamation: Character = "!" welcome.append(exclamation) //注意String類型與Character類型不能直接使用+運算符,因為+兩邊的數據類型不一致會導致編譯器報錯