Strings
本節(jié)介紹兩種數(shù)據(jù)類型:Character和String
- Character 數(shù)據(jù)類型可以存儲(chǔ)單個(gè)字符
let ?? :Character = "??"
print(??)
- String 數(shù)據(jù)類型可以存儲(chǔ)多個(gè)字符
let ???? :String = "????"
print(????)
相關(guān)操作
- 兩個(gè)字符串可以通過 '+' 相結(jié)合
var message = "hello" + " " + "world" + "!"
print(message) //輸出hello world!
- Character通過強(qiáng)制轉(zhuǎn)換可以和String相結(jié)合
var message = "hello world"
var combineMessage = message + "!"
print(combineMessage) //輸出hello world!
按照我們的想法這邊應(yīng)該報(bào)錯(cuò)的汇竭,因?yàn)閟wift類型檢查非常嚴(yán)格细燎,但是為什么沒有報(bào)錯(cuò)呢玻驻?原來"!"類型推斷為String類型璧瞬,兩個(gè)String類型相加肯定不會(huì)錯(cuò)。我們可以重寫測試代碼:
var message = "hello world"
var mark:Character = "!"
var combineMessage = message + String(mark)
print(combineMessage)
通過強(qiáng)制轉(zhuǎn)換來使Character和String類型相結(jié)合
- 可以在字符串中插入變量
通過反斜杠+( )語法可以在字符串中插入變量
let name = "Matt"
let message = "hello, my name is \(name)"
print(message) //輸出hello, my name is Matt
- == ,!= 可以判斷兩個(gè)字符串是否相等
let guess = "dog"
let dogEqualsCat = guess == "cat"
let dogNotEqualsCat = guess != "cat"
print(dogEqualsCat,dogNotEqualsCat) //輸出false true
- < ,> 可以判斷一個(gè)字符串是否在另一個(gè)字符串之前或之后
let order1 = "cat" < "dog" //true
let order2 = "cat" < "apple" //false
該判斷依據(jù)是第一個(gè)字符串,c在d之前膘茎,所以第一行代碼返回true,c在a之后,所以第二行代碼返回false
- uppercaseString/lowercaseString大小寫轉(zhuǎn)換
let string = "small"
string.lowercaseString //輸出small
string.uppercaseString //輸出SMALL
print(string) //輸出small
至于最后為什么輸出string時(shí)是small而不是SMALL? 因?yàn)閟tring是值類型棒拂,大小寫的改動(dòng)不影響本身帚屉,這個(gè)后面再說攻旦。
總結(jié)
本篇先簡單介紹字符串牢屋,還沒有介紹字符串的截取烙无,替換截酷,遍歷等等相關(guān)操作迂苛,后續(xù)會(huì)不斷補(bǔ)充灾部,歡迎指正,謝謝从藤。