String
是例如“hello, world”,“海贼王” 这样的有序的
Character
(字符)类型的值的集合,通过
String
类型来表示。
Swift 的String
类型与 Foundation NSString
类进行了无缝桥接。如果您利用 Cocoa 或 Cocoa Touch 中的 Foundation 框架进行工作。所有NSString
API 都可以调用您创建的任意String
类型的值。除此之外,还可以使用本章介绍的String
特性。您也可以在任意要求传入NSString
实例作为参数的 API 中使用String
类型的值作为替代
注:Swift 的String
类型是值类型。 如果您创建了一个新的字符串,那么当其进行常量、变量赋值操作或在函数/方法中传递时,会进行值拷贝。 任何情况下,都会对已有字符串值创建新副本,并对该新副本进行传递或赋值操作。
1.字符串定义
var s = "abc"
var s1:String = "abc"
// 两个字符串均为空并等价。
var emptyString = "" // 空字符串字面量
var anotherEmptyString = String() // 初始化 String 实例
字符串字面量可以包含以下特殊字符:
-
- 转义字符
\0
(空字符)、\\
(反斜线)、\t
(水平制表符)、\n
(换行符)、\r
(回车符)、\"
(双引号)、\'
(单引号)。 - 单字节 Unicode 标量,写成
\xnn
,其中nn
为两位十六进制数。 - 双字节 Unicode 标量,写成
\unnnn
,其中nnnn
为四位十六进制数。 - 四字节 Unicode 标量,写成
\Unnnnnnnn
,其中nnnnnnnn
为八位十六进制数。
- 转义字符
let wiseWords = "\"我是要成为海贼王的男人\" - 路飞" // "我是要成为海贼王的男人" - 路飞 let dollarSign = "\x24" // $, Unicode 标量 U+0024 let blackHeart = "\u2665" // ♥, Unicode 标量 U+2665 let sparklingHeart = "\U0001F496" //