Swift Character

Character в Swift — это строковый литерал из одного символа, а его тип данных — Character.

В следующем примере перечислены два экземпляра Character:

import Cocoa

let char1: Character = "A"
let char2: Character = "B"

print("char1 的值为 \(char1)")
print("char2 的值为 \(char2)")

Вывод вышеприведённой программы:

char1 的值为 A
char2 的值为 B

Если вы попытаетесь сохранить больше символов в константе типа Character, программа выдаст ошибку, как показано ниже:

import Cocoa

// Swift 中以下赋值会报错
let char: Character = "AB"

print("Value of char \(char)")

Вывод вышеприведённой программы:

error: cannot convert value of type 'String' to specified type 'Character'
let char: Character = "AB"

Пустая переменная типа Character

В Swift нельзя создать пустую переменную или константу типа Character:

import Cocoa

// Swift 中以下赋值会报错
let char1: Character = ""
var char2: Character = ""

print("char1 的值为 \(char1)")
print("char2 的值为 \(char2)")

Вывод вышеприведённой программы:

 error: cannot convert value of type 'String' to specified type 'Character'
let char1: Character = ""
                       ^~
error: cannot convert value of type 'String' to specified type 'Character'
var char2: Character = ""

Перебор символов Character в String

Тип String в Swift представляет собой коллекцию значений типа Character в определённой последовательности. Каждое значение символа представляет собой символ Unicode.

В Swift 3 свойства и методы String нужно вызывать через characters. В Swift 4 их можно вызывать напрямую через сам объект String, например:

В Swift 3:

import Cocoa

for ch in "Example".characters {
    print(ch)
}

В Swift 4:

import Cocoa

for ch in "Example" {
    print(ch)
}

Вывод вышеприведённой программы:

R
u
n
o
o
b

Присоединение символов Character к строке

В следующем примере демонстрируется использование метода append() типа String для присоединения символа к строке:

import Cocoa

var varA:String = "Hello "
let varB:Character = "G"

varA.append( varB )

print("varC  =  \(varA)")

Вывод вышеприведённой программы:

varC  =  Hello G
Другие расширения