Swift 文字(Character)

Swift の文字は、単一の文字からなる文字列リテラルであり、データ型は Character です。

以下の例では、2つの文字インスタンスを示しています。

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"

空の文字変数

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 = ""

文字列内の文字を反復処理する

Swift の String 型は、特定のシーケンスで並んだ Character(文字)型の値のコレクションです。各文字の値は Unicode 文字を表します。

Swift 3 の String では、characters を介して呼び出す必要があったプロパティやメソッドは、Swift 4 では String オブジェクト自体から直接呼び出すことができます。例:

Swift 3 の場合:

import Cocoa

for ch in "サンプル".characters {
    print(ch)
}

Swift 4 の場合:

import Cocoa

for ch in "サンプル" {
    print(ch)
}

上記のプログラムを実行したときの出力結果は次のとおりです。

R
u
n
o
o
b

文字列に文字を連結する

以下の例では、String の append() メソッドを使用して文字列に文字を連結する方法を示しています。

import Cocoa

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

varA.append( varB )

print("varC  =  \(varA)")

上記のプログラムを実行したときの出力結果は次のとおりです。

varC  =  Hello G
その他の拡張