String 是一个有序的字符集合
1.初始化空的字符串
varemptyString = ""
varanonterEmptyString = String()
//判断字符串是不是为空
ifemptyString.isEmpty {
print("empty");
}
2.字符串的可变性
var string = "xiaoming"
string += "and xiaobai" // = "xiaomingand xiaobai"
注:在oc中你通过两个不通的类(NSString, NSMutableString)来指定字符串是否被修改,而在swift中是否可以修改是通过常量和变量去决定的
注(2): oc 创建了一个方法NSString的实例,并将其传递给一个方法,或者赋值给一个变量,你永远是传递的是同一个NSString实例的引用,除非你要求进行值拷贝,否则字符串不会进赋值的新副本操作 Swift的字符串当其进行常量和变量赋值操作的或在函数和方式进行传递的时候,会进行的值的拷贝,在不同的情况下,都会对已有的值创建新的副本,并对该副本进行值的传递。
在实际的编译中 swift编译器会优化字符串的字符串的使用,使实际的复制发生在有必要的情况下,所以字符串有很高的性能在swift中
(1)使用字符(Character)
swift的string类型表示特定序列的字符串的集合,每一个字赋值代表一个unicode字符,
let nameH= "hello world"
print(Array(nameH.characters)); //"["h","e", "l", "l", "o", " ","w", "o", "r", "l","d"]\n"
(2)分隔字符串
let namet= "Ma rie Curie"
letfirstSpace = namet.characters.index(of: "i")!
letfirstName = String(namet.characters.prefix(upTo: firstSpace))
print(firstName) //="Ma r"
(3)比较字符串相等
let a ="a"
let b ="a"
if a == b{
print("equal"); //== equal
}
剩下的一些属性和方法可以到官方文档里面去看,我这里就不一一介绍了