String是例如“hello, world”,“海賊王” 這樣的有序的Character(字符)類型的值的集合,通過String類型來表示。
Swift 的String和Character類型提供了一個快速的,兼容 Unicode 的方式來處理代碼中的文本信息。
創(chuàng)建和操作字符串的語法與 C 語言中字符串操作相似,輕量并且易讀。
字符串連接操作只需要簡單地通過+號將兩個字符串相連即可。
與 Swift 中其他值一樣,能否更改字符串的值,取決于其被定義為常量還是變量。
盡管語法簡易,但String類型是一種快速、現(xiàn)代化的字符串實現(xiàn)。
每一個字符串都是由獨立編碼的 Unicode 字符組成,并提供了以不同 Unicode 表示(representations)來訪問這些字符的支持。
Swift 可以在常量、變量、字面量和表達(dá)式中進(jìn)行字符串插值操作,可以輕松創(chuàng)建用于展示、存儲和打印的自定義字符串。
注意:
Swift 的String類型與 FoundationNSString類進(jìn)行了無縫橋接。如果您利用 Cocoa 或 Cocoa Touch 中的 Foundation 框架進(jìn)行工作。所有NSStringAPI 都可以調(diào)用您創(chuàng)建的任意String類型的值。除此之外,還可以使用本章介紹的String特性。您也可以在任意要求傳入NSString實例作為參數(shù)的 API 中使用String類型的值作為替代。 更多關(guān)于在 Foundation 和 Cocoa 中使用String的信息請查看 Using Swift with Cocoa and Objective-C。
您可以在您的代碼中包含一段預(yù)定義的字符串值作為字符串字面量。 字符串字面量是由雙引號 ("") 包裹著的具有固定順序的文本字符集。
字符串字面量可以用于為常量和變量提供初始值。
let someString = "Some string literal value"
注意:
someString常量通過字符串字面量進(jìn)行初始化,Swift 因此推斷該常量為String類型。
字符串字面量可以包含以下特殊字符:
\0(空字符)、\\(反斜線)、\t(水平制表符)、\n(換行符)、\r(回車符)、\"(雙引號)、\'(單引號)。\u{n}(u為小寫),其中n為任意的一到八位十六進(jìn)制數(shù)。下面的代碼為各種特殊字符的使用示例。
wiseWords常量包含了兩個轉(zhuǎn)移特殊字符 (雙括號);
dollarSign、blackHeart和sparklingHeart常量演示了三種不同格式的 Unicode 標(biāo)量:
let wiseWords = "\"我是要成為海賊王的男人\" - 路飛"
// "我是要成為海賊王的男人" - 路飛
let dollarSign = "\u{24}" // $, Unicode 標(biāo)量 U+0024
let blackHeart = "\u{2665}" // ?, Unicode 標(biāo)量 U+2665
let sparklingHeart = "\u{1F496}" //