String
是例如“hello, world”,“海賊王” 這樣的有序的Character
(字符)類型的值的集合,通過String
類型來表示。
Swift 的String
和Character
類型提供了一個(gè)快速的,兼容 Unicode 的方式來處理代碼中的文本信息。
創(chuàng)建和操作字符串的語法與 C 語言中字符串操作相似,輕量并且易讀。
字符串連接操作只需要簡單地通過+
號將兩個(gè)字符串相連即可。
與 Swift 中其他值一樣,能否更改字符串的值,取決于其被定義為常量還是變量。
盡管語法簡易,但String
類型是一種快速、現(xiàn)代化的字符串實(shí)現(xiàn)。
每一個(gè)字符串都是由獨(dú)立編碼的 Unicode 字符組成,并提供了以不同 Unicode 表示(representations)來訪問這些字符的支持。
Swift 可以在常量、變量、字面量和表達(dá)式中進(jìn)行字符串插值操作,可以輕松創(chuàng)建用于展示、存儲和打印的自定義字符串。
注意:
Swift 的String
類型與 FoundationNSString
類進(jìn)行了無縫橋接。如果您利用 Cocoa 或 Cocoa Touch 中的 Foundation 框架進(jìn)行工作。所有NSString
API 都可以調(diào)用您創(chuàng)建的任意String
類型的值。除此之外,還可以使用本章介紹的String
特性。您也可以在任意要求傳入NSString
實(shí)例作為參數(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
常量包含了兩個(gè)轉(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}" //