一: 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类型不能直接使用+运算符,因为+两边的数据类型不一致会导致编译器报错