Welcome-to-Swift-03字符串和字符(Strings and Characters)
String
是例如“hello, world“”,“海贼王” 这样的有序的Character
(字符)类型的值的集合,通过String
类型来表示。
Swift 的String
和Character
类型提供了一个快速的,兼容 Unicode 的方式来处理代码中的文本信息。 创建和操作字符串的语法与 C 语言中字符串操作相似,轻量并且易读。 字符串连接操作只需要简单地通过+
号将两个字符串相连即可。 与 Swift 中其他值一样,能否更改字符串的值,取决于其被定义为常量还是变量。
尽管语法简易,但String
类型是一种快速、现代化的字符串实现。 每一个字符串都是由独立编码的 Unicode 字符组成,并提供了以不同 Unicode 表示(representations)来访问这些字符的支持。
Swift 可以在常量、变量、字面量和表达式中进行字符串插值操作,可以轻松创建用于展示、存储和打印的自定义字符串。
注意:
Swift 的
String
类型与 FoundationNSString
类进行了无缝桥接。如果您利用 Cocoa 或 Cocoa Touch 中的 Foundation 框架进行工作。所有NSString
API 都可以调用您创建的任意String
类型的值。除此之外,还可以使用本章介绍的String
特性。您也可以在任意要求传入NSString
实例作为参数的 API 中使用String
类型的值作为替代。更多关于在 Foundation 和 Cocoa 中使用
String
的信息请查看 Using Swift with Cocoa and Objective-C。
字符串字面量(String Literals)
您可以在您的代码中包含一段预定义的字符串值作为字符串字面量。 字符串字面量是由双引号 ("") 包裹着的具有固定顺序的文本字符集。
字符串字面量可以用于为常量和变量提供初始值。
let someString = "Some string literal value"
注意:
someString
变量通过字符串字面量进行初始化,Swift 因此推断该变量为String
类型。
字符串字面量可以包含以下特殊字符:
- 转义字符
\0
(空字符)、\\
(反斜线)、\t
(水平制表符)、\n
(换行符)、\r
(回车符)、\"
(双引号)、\'
(单引号)。 - 单字节 Unicode 标量,写成
\xnn
,其中nn
为两位十六进制数。 - 双字节 Unicode 标量,写成
\unnnn
,其中nnnn
为四位十六进制数。 - 四字节 Unicode 标量,写成
\Unnnnnnnn
,其中nnnnnnnn
为八位十六进制数。
下面的代码为各种特殊字符的使用示例。 wiseWords
常量包含了两个转移特殊字符 (双括号);dollarSign
、blackHeart
和sparklingHeart
常量演示了三种不同格式的 Unicode 标量:
let wiseWords = "\"我是要成为海贼王的男人\" - 路飞"
// "我是要成为海贼王的男人" - 路飞
let dollarSign = "\x24" // $, Unicode 标量 U+0024
let blackHeart = "\u2665" // ♥, Unicode 标量 U+2665
let sparklingHeart = "\U0001F496" //
最新文章
- nginx使用ngx_lua访问后端Thrift-Server实现和介绍
- ECNAScript6简介
- How Google Tests Software - The Life of a TE
- 对JS原型的一些理解
- BZOJ1857[SCOI2010]传送带
- Egret和Http请求 (Ajax、XMLHttpRequest、Post、Get)
- 解决Visual Studio 2010新建工程时出现『1>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt』错误
- UVA 11527 Unique Snowflakes
- url匹配和match()方法
- poj2079Triangle(N点中三点组成三角形面积最大)
- 数据缓存iOS
- LeetCode 343
- C++----练习--引用头文件
- 获取某月第一天,最后一天的sql server脚本
- css绝对定位、相对定位和文档流的那些事
- Labview学习之波形图表的历史数据
- Break on _NSLockError() to debug.
- opencv鼠标操作及GUI矩形绘画
- SCRIPT438: 对象不支持“indexOf”属性或方法
- 记录一次网站邮箱(STMP)被恶意伪造事件
热门文章