好文档 - 专业文书写作范文服务资料分享网站

【VIP专享】3 字符串和字符

天下 分享 时间: 加入收藏 我要投稿 点赞

《The Swift Programming Language》中?文版

介紹

1. 欢迎使?用 Swift ?1.1. 关于 Swift ?1.2. Swift 初见

?1.3. Swift 版本历史记录 2. Swift 教程

?

2.1. 基础部分

?

??????????

??

2.2. 基本运算符 2.3. 字符串和字符 2.4. 集合类型 2.5. 控制流 2.6. 函数 2.7. 闭包 2.8. 枚举

2.9. 类和结构体 2.10. 属性 2.11. ?方法

2.12. 下标脚本 2.13. 继承 2.14. 构造过程

?

2.15. 析构过程

?

2.16. ?自动引?用计数

?

2.17. 可选链

?

?

2.18. 类型转换 2.19. 嵌套类型

?2.20. 扩展 ?2.21. 协议 ?2.22. 泛型 ?2.23. 权限控制 ?2.24. ?高级操作符 3. 语?言参考

?3.1. 关于语?言参考 ?3.2. 词法结构 ?3.3. 类型 ?3.4. 表达式 ?3.5. 语句 ?3.6. 声明 ?3.7. 特性 ?3.8. 模式 ?3.9. 泛型参数 ?3.10. 语法总结

4. 苹果官?方Blog官?方翻译

?4.1. Access Control 权限控制的?黑与?白 ?4.2. 造个类型不是梦-?白话Swift类型创建 ?4.3. WWDC?里?面的那个“?大炮打?气球” ?4.4. Swift与C语?言指针友好合作 ?4.5. 引?用类型和值类型的恩怨 ?4.6. 访问控制和Protected

?4.7. 可选类型完美解决占位问题 本書使?用 GitBook 釋出

翻译:wh1100717校对:Hawstein

字符串和字符(Strings and Characters)

本页包含内容:???????????

字符串字?面量初始化空字符串字符串可变性字符串是值类型使?用字符计算字符数量连接字符串和字符字符串插值?比较字符串字符串?大?小写Unicode

String是例如“hello, world”,“海贼王” 这样的有序的Character(字符)类型的值的

集合,通过String类型来表?示。

Swift 的String和Character类型提供了?一个快速的,兼容 Unicode 的?方式来处理代码中的?文本信息。 创建和操作字符串的语法与 C 语?言中字符串操作相似,轻量并且易读。 字符串连接操作只需要简单地通过+号将两个字符串相连即可。 与 Swift 中其他值?一样,能否更改字符串的值,取决于其被定义为常量还是变量。尽管语法简易,但String类型是?一种快速、现代化的字符串实现。 每?一个字符串都是由独?立编码的 Unicode 字符组成,并提供了以不同 Unicode 表?示(representations)来访问这些字符的?支持。

Swift 可以在常量、变量、字?面量和表达式中进?行字符串插值操作,可以轻松创建?用于展?示、存储和打印的?自定义字符串。注意:

Swift 的String类型与 Foundation NSString类进?行了?无缝桥接。如果您利?用 Cocoa 或 Cocoa Touch 中的 Foundation 框架进?行?工作。所有NSString API 都可以调?用您创建的任意String类型的值。除此之外,还可以使?用本章介绍的String特性。您也可以在任意要求传?入NSString实例作为参数的 API 中使?用String类型的值作为替代。 更多关于在 Foundation 和 Cocoa 中使?用String的信息请查看 Using Swift with Cocoa and Objective-C。

字符串字?面量(String Literals)

您可以在您的代码中包含?一段预定义的字符串值作为字符串字?面量。 字符串字?面量是由双引号 (\包裹着的具有固定顺序的?文本字符集。字符串字?面量可以?用于为常量和变量提供初始值。

let\t\r ?someString\t\r ?=\t\r ?\

注意:

someString常量通过字符串字?面量进?行初始化,Swift 因此推断该常量为String类

型。

字符串字?面量可以包含以下特殊字符:??

转义字符\\0(空字符)、\\\\(反斜线)、\\t(?水平制表符)、\\n(换?行符)、\\r(回车符)、\\\(双引号)、\\'(单引号)。

Unicode 标量,写成\%u{n}(u为?小写),其中n为任意的?一到?八位?十六进制数。下?面的代码为各种特殊字符的使?用?示例。 wiseWords常量包含了两个转移特殊字符 (双括号); dollarSign、blackHeart和sparklingHeart常量演?示了三种不同格式的 Unicode 标量:

let\t\r ?wiseWords\t\r ?=\t\r ?\我是要成为海贼?王的男?人\\\路?飞\//\t\r ?\我是要成为海贼?王的男?人\路?飞

let\t\r ?dollarSign\t\r ?=\t\r ?\\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?//\t\r ?$,\t\r ?\t\r ?Unicode\t\r ?标量\t\r ?U+0024let\t\r ?blackHeart\t\r ?=\t\r ?\\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?//\t\r ??,\t\r ?\t\r ?Unicode\t\r ?标量\t\r ?U+2665let\t\r ?sparklingHeart\t\r ?=\t\r ?\\t\r ?\t\r ?//\t\r ???,\t\r ?Unicode\t\r ?标量\t\r ?U+1F496

初始化空字符串 (Initializing an Empty String)

为了构造?一个很长的字符串,可以创建?一个空字符串作为初始值。 可以将空的字符串字?面量赋值给变量,也可以初始化?一个新的String实例:

var\t\r ?emptyString\t\r ?=\t\r ?\\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?\t\r ?//\t\r ?空字符串字?面量var\t\r ?anotherEmptyString\t\r ?=\t\r ?String()\t\r ?\t\r ?//\t\r ?初始化\t\r ?String\t\r ?实例//\t\r ?两个字符串均为空并等价。

您可以通过检查其Boolean类型的isEmpty属性来判断该字符串是否为空:

if\t\r ?emptyString.isEmpty\t\r ?{\t\r ?\t\r ?\t\r ?\t\r ?println(\什么都没有\)}

//\t\r ?打印输出:\什么都没有\

字符串可变性 (String Mutability)

您可以通过将?一个特定字符串分配给?一个变量来对其进?行修改,或者分配给?一个常

9y1is8s3t81symv1jox557eja0pqs3006m8
领取福利

微信扫码领取福利

微信扫码分享