String
在Swift中,String基本上改过所有字符串所需要用到的类型了。
初始化空的字符串
var 空字符串 = " "
var 另一个空字符串 = String( )
//这两个字符串都为空,并且都相等。
可以通过Bool类型的isEmpty
属性来判断字符串是否为空;
if 空字符串.isEmpty {
print("啥都没有")
}//打印啥都没有
字符串可变性
在OC中字符串分为NSString和NSMutableString来指定能否被修改。
但是在swift中,仅仅通过它是变量和常量来进行更改,实现了多种类型可以统一。
let a = "hello"
a = "world" //报错
var b = "hello"
b = "world" //通过
//仅仅取决于声明是用let还是var
字符串类型
在Swift中String的类型是值类型。
简单来说就是String值的传递是你和你的影子一起走,NSString仅仅是你的影子走了,你自己还是在原地。
官方的解释:和Cocoa中的NSString不同,当在Cocoa中创建了一个NSString实列,并将其传递给一个函数/方法,或者赋给一个变量,您永远都是传递或者赋值同一个NSString实例的一个引用。除非您特别要求其进行值拷贝,否则字符串不会进行赋值新副本操作。
总的来说就是说Swift的String比OC的String要牛逼一些 - 。- !
使用字符(characters)
在Swift中String类型表示特定序列的字符值的集合,每一个字符值代表一个Unicode字符,我们可以使用for-in来遍历字符串中的每一个字符
let say = "I love you "
for characters in say.characters {
print(characters)
}//分别是I l o v e y o u
计算字符串数量
使用全局函数:String.character.count,可以获取该字符串的字符数量
获取字符串的数量连接字符串和字符
直接上图,这部分注意相加的时候类型转换即可
连接字符串和字符字符串插值
借上面这个例子:使用" \ ( ) "可以在字符串中插入值
字符串插值
比较字符串
Swift提供了三种方式来比较字符串的值:字符串相等,前缀相等和后缀相等。
- 前缀相等:hasPrefix
-
后缀相等:hasSuffix
字符串比较
网友评论