1.字符
在Swift中字符類型是Character。與其他的類型申明類似,我們可以指定變量或常量類型為Character,但是如果省略Character類型的聲明,編譯器自動推斷出的類型不是字符類型,而是字符串類型。
let andSign1 = "&" //編譯器自動推斷為字符串類型
字符類型表示時也是放到雙引號(")中,但一定是一個字符,如下語句會出現編譯錯誤:
let andSign1: Character = "&A" //會發生編譯錯誤
下面是字符的正確寫法:
let andSgin1: Character = "&"
let andSgin2: Character = "\u{26}" //表示一個字符可以使用字符本身,也可以使用它的Unicode編碼
let lamda1: Character = "λ"
let lamda2: Character = "\u{03bb}"
2.字符串
字符串的創建:
let str = "hello world"
print("字符串的長度:\(str.characters.count)")
var emptyString1 = "" //可變字符串
var emptyString2 = String() //可變字符串 調用了String 的構造函數
字符串的拼接:
var ChineseZodiac = "鼠牛"
ChineseZodiac = ChineseZodiac + "虎"
ChineseZodiac += "兔"
let yang:Character = "羊"
ChineseZodiac.append(yang)
字符串插入、刪除和替換
String 提供的API:
//在索引位置插入字符
func insert(_ newElement:Character,at i:String.Index)
//在索引位置刪除字符
func remove(at i:String.Index) -> Character
//刪除指定范圍內的字符串
func removeSubrange(_ bounds: Range<String.Index>)
//使用字符串或者字符替換指定范圍內的字符
func replaceSubrange(_ bounds: ClosedRange<Substring.Index>, with newElements: Substring)
示例代碼如下:
var str = "Objective-C and Swift"
print("原始字符串:\(str)")
str.insert(".",at:str.endIndex)
print("插入.字符后:\(str)")
str.remove(at:str.index(before:str.endIndex))
print("刪除.字符后:\(str)")
var startIndex = str.startIndex
var endIndex = str.index(startIndex,offsetBy:9)
var range = startIndex...endIndex
str.removeSubrange(range)
print("刪除范圍后:\(str)")
endIndex = str.index(startIndex,offsetBy:0)
range = startIndex...endIndex
str.replaceSubrange(range,with:"C++")
print("替換范圍后:\(str)")
輸出結果:
原始字符串:Objective-C and Swift
插入.字符后:Objective-C and Swift.
刪除.字符后:Objective-C and Swift
刪除范圍后:C and Swift
替換范圍后:C++ and Swift
3.控制語句
分支語句:if、switch、guard。
循環語句:white、repeat-white和for。
跳轉語句:break、continue、fallthrough、return和throw。