String是例如“hello, world“”,“海贼王” 这样的有序的Character(字符)类型的值的集合,通过String类型来表示。

Swift 的StringCharacter类型提供了一个快速的,兼容 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 someString = "Some string literal value"

注意:

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

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

  • 转义字符\0(空字符)、\\(反斜线)、\t(水平制表符)、\n(换行符)、\r(回车符)、\"(双引号)、\'(单引号)。
  • 单字节 Unicode 标量,写成\xnn,其中nn为两位十六进制数。
  • 双字节 Unicode 标量,写成\unnnn,其中nnnn为四位十六进制数。
  • 四字节 Unicode 标量,写成\Unnnnnnnn,其中nnnnnnnn为八位十六进制数。

下面的代码为各种特殊字符的使用示例。 wiseWords常量包含了两个转移特殊字符 (双括号);dollarSignblackHeartsparklingHeart常量演示了三种不同格式的 Unicode 标量:

let wiseWords = "\"我是要成为海贼王的男人\" - 路飞"
// "我是要成为海贼王的男人" - 路飞
let dollarSign = "\x24" // $, Unicode 标量 U+0024
let blackHeart = "\u2665" // ♥, Unicode 标量 U+2665
let sparklingHeart = "\U0001F496" //

最新文章

  1. nginx使用ngx_lua访问后端Thrift-Server实现和介绍
  2. ECNAScript6简介
  3. How Google Tests Software - The Life of a TE
  4. 对JS原型的一些理解
  5. BZOJ1857[SCOI2010]传送带
  6. Egret和Http请求 (Ajax、XMLHttpRequest、Post、Get)
  7. 解决Visual Studio 2010新建工程时出现『1>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt』错误
  8. UVA 11527 Unique Snowflakes
  9. url匹配和match()方法
  10. poj2079Triangle(N点中三点组成三角形面积最大)
  11. 数据缓存iOS
  12. LeetCode 343
  13. C++----练习--引用头文件
  14. 获取某月第一天,最后一天的sql server脚本
  15. css绝对定位、相对定位和文档流的那些事
  16. Labview学习之波形图表的历史数据
  17. Break on _NSLockError() to debug.
  18. opencv鼠标操作及GUI矩形绘画
  19. SCRIPT438: 对象不支持“indexOf”属性或方法
  20. 记录一次网站邮箱(STMP)被恶意伪造事件

热门文章

  1. jacvaSe-LinkedList
  2. SGU 258 Almost Lucky Numbers 接近幸运数(数位DP)
  3. SAP C4C Opportunity和SAP ERP Sales流程的集成
  4. SG函数入门&&HDU 1848
  5. 【转】瓜娃(guava)的API快速熟悉使用
  6. java面试基础篇(一)
  7. NSCharacterSet去除字符串中的空格、删除指定\任意字符集
  8. 初涉斯坦纳树&&bzoj4774: 修路
  9. Linux常用文档操作命令--2
  10. 虚拟化技术xen,kvm,qemu区别