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