Swift从入门到精通 (移动开发丛书)
上QQ阅读APP看书,第一时间看更新

3.2 字符类型

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

3.2.1 字符类型简介

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

        MemoryLayout<String>.size        //24个字节 获取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类型的实例中有一个名为characters的集合,遍历这个集合可以取出字符串中的每一个字符元素,示例代码如下:

        //进行for-in遍历
        let name = "China"
        for character in name.characters {
            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}"

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