1.Strings and Characters
字元串字面量的特殊符号:
轉義字元 \0(空字元)、\(反斜線)、\t(水準制表符)、\n(換行符)、\r(回車符)、"(雙引号)、’(單引号)。
Unicode 标量,寫成 \u{n}(u 為小寫),其中 n 為任意一到八位十六進制數且可用的 Unicode 位碼。
字元串是值類型
每一個 Swift 的 Character 類型代表一個可擴充的字形群。而一個可擴充的字形群構成了人類可讀的單個字元,它由一個或多個(當組合時) Unicode 标量的序列組成。
使用可拓展的字元群集作為 Character 值來連接配接或改變字元串時,并不一定會更改字元串的字元數量。
字元串索引:
(1)使用 startIndex 屬性可以擷取一個 String 的第一個 Character 的索引。使用 endIndex 屬性可以擷取最後一個 Character 的後一個位置的索引。
(2)通過調用 String 的 index(before:) 或 index(after:) 方法,可以立即得到前面或後面的一個索引。
(3)通過調用 index(:offsetBy:) 方法來擷取對應偏移量的索引,這種方式可以避免多次調用 index(before:) 或 index(after:) 方法.
(4)使用 indices 屬性會建立一個包含全部索引的範圍(Range),用來在一個字元串中通路單個字元
字元串插入和删除:
調用 insert(:at:) 方法可以在一個字元串的指定索引插入一個字元,調用 insert(contentsOf:at:) 方法可以在一個字元串的指定索引插入一個段字元串。
調用 remove(at:) 方法可以在一個字元串的指定索引删除一個字元,調用 removeSubrange(😃 方法可以在一個字元串的指定索引删除一個子字元串。
通過調用字元串的 hasPrefix(😃/hasSuffix(_😃 方法來檢查字元串是否擁有特定字首/字尾,兩個方法均接收一個 String 類型的參數,并傳回一個布爾值。
2.Collection Types:Arrays, Sets, Dictionaries
Swift 語言提供數組(Array)、集合(Set)和字典(Dictionary)三種基本的集合類型用來存儲集合資料。數組是有序資料的集。集合是無序無重複資料的集。字典是無序的鍵值對的集。
數組方法:
count,isEmpty,append,insert,remove
移除最後一項:removeLast()避免需要擷取數組的 count 屬性
使用 enumerated() 方法來進行數組周遊
集合中的類型必須都是可哈希化的
集合的操作:
使用 intersection( _ : ) 方法根據兩個集合的交集建立一個新的集合。
使用 symmetricDifference( _ : ) 方法根據兩個集合不相交的值建立一個新的集合。
使用 union( _ : ) 方法根據兩個集合的所有值建立一個新的集合。
使用 subtracting( _ : ) 方法根據不在另一個集合中的值建立一個新的集合。
集合關系:
使用“是否相等”運算符(==)來判斷兩個集合包含的值是否全部相同。
使用 isSubset(of:) 方法來判斷一個集合中的所有值是否也被包含在另外一個集合中。
使用 isSuperset(of:) 方法來判斷一個集合是否包含另一個集合中所有的值。
使用 isStrictSubset(of:) 或者 isStrictSuperset(of:) 方法來判斷一個集合是否是另外一個集合的子集合或者父集合并且兩個集合并不相等。
使用 isDisjoint(with:) 方法來判斷兩個集合是否不含有相同的值(是否沒有交集)。
字典:
為了以特定的順序周遊字典的鍵或值,可以對字典的 keys 或 values 屬性使用 sorted() 方法。