Swift 5从零到精通iOS开发训练营
上QQ阅读APP看书,第一时间看更新

3.2 字符类型

字符类型用来表示单个字符,如数字字符、英文字符、符号字符和中文字符等都可以使用字符类型来表示,也可以通过遍历字符串的方法将字符串中的字符分解出来。

3.2.1 字符类型简介

类似于C语言中的Char,Swift语言中使用Character来描述字符类型,Character类型和String类型都占16字节的内存空间。在Swift中可以使用MemoryLayout枚举来获取某个类型所占用的内存空间,其单位为字节,示例如下:

     MemoryLayout<String>.size  //16个字节 获取String类型占用的内存空间

Character用来描述一个字符,我们将一组字符组合成为一个数组,用于构造字符串,示例如下:

     //创建一个字符
     var e:Character = "a"
     //创建字符数组
     var e2 : [Character] = ["H","E","L","L","O"]
     //通过字符数组来构造字符串 "HELLO"
     var e3 = String(e2)

同样,也可以使用构造方法来完成字符类型变量的构造,示例如下:

     //通过构造方法来创建字符类型变量
     var e4 = Character("a")

使用for-in遍历可以将字符串中的字符拆解出来,这种方法有时十分好用,for-in遍历是Swift语言中一种重要的代码流程结构。String类型默认实现了迭代器相关协议,直接对其进行遍历可以取出字符串中的每一个字符元素,示例代码如下:

     //进行for-in遍历
     let name = "China"
     for character in name {
        print(character)
     }

上面的代码将依次打印C、h、i、n、a。

提示

for-in结构是一种重要的循环结构,上面的示例代码中,in关键字后面需要为一种可迭代的类型,in关键字前面是每次循环从迭代器中取出的元素,其类型会由Xcode编译器自动推断出来,在后面的章节中会有for-in结构的详细介绍。

3.2.2 转义字符

Swift语言和C语言类似,除了一些常规的可见字符外,还提供了一些有特殊用途的转义字符,可通过特殊的符号组合来表示特定的意义。示例如下:

  • \0:用来表示空白符。
  • \\:用来表示反斜杠。
  • \t:用来表示制表符。
  • \n:用来表示换行符。
  • \r:用来表示回车符。
  • \':用来表示单引号。
  • \":用来表示双引号。
  • \u{}:用Unicode码来创建字符。

其中,\u{}用来通过Unicode码来创建字符,将Unicode码填入大括号中即可,示例如下:

     //使用Unicode码来创建字符,Unicode为21代表的字符为!
     "\u{21}"

提示

在应用开发中,换行符常用来处理多行文本的排版。