Swift リテラル
いわゆるリテラルとは、特定の数字、文字列、またはブール値のように、自分の型を直接明示し、変数に代入できる値のことです。例えば、下記のようになります:
let aNumber = 3 //整型字面量 let aString = "Hello" //字符串字面量 let aBool = true //布尔值字面量
整数リテラル
整数リテラルは、10進数、2進数、8進数、または16進数の定数です。 2進数のプレフィックスは 0b、8進数のプレフィックスは 0o、16進数のプレフィックスは 0x で、10進数にはプレフィックスがありません:
以下は整数リテラルの例です:
let decimalInteger = 17 // 17 - 十进制表示 let binaryInteger = 0b10001 // 17 - 二进制表示 let octalInteger = 0o21 // 17 - 八进制表示 let hexadecimalInteger = 0x11 // 17 - 十六进制表示
浮動小数点リテラル
浮動小数点リテラルは、整数部分、小数点、小数部分、および指数部分から構成されます。
特に指定がない限り、浮動小数点リテラルのデフォルトの推論型は Swift 標準ライブラリの Double であり、64ビット浮動小数点数を表します。
浮動小数点リテラルはデフォルトで10進数(プレフィックスなし)で表され、16進数(プレフィックス 0x)でも表せます。
10進浮動小数点リテラルは、10進数の数字列の後ろに小数部または指数部(またはその両方)が続いて構成されます。10進数の小数部は、小数点 . の後ろに10進数の数字列が続いて構成されます。指数部は、大文字または小文字の e をプレフィックスとし、その後に10進数の数字列が続いて構成され、この数字列は e の前の値に 10 の何乗を掛けるかを表します。例えば:1.25e2 は 1.25 ⨉ 10^2、すなわち 125.0 を表します。同様に、1.25e-2 は 1.25 ⨉ 10^-2、すなわち 0.0125 を表します。
16進浮動小数点リテラルは、プレフィックス 0x の後ろに、オプションの16進小数部と16進指数部が続いて構成されます。16進小数部は、小数点の後ろに16進数の数字列が続いて構成されます。指数部は、大文字または小文字の p をプレフィックスとし、その後に10進数の数字列が続いて構成され、この数字列は p の前の値に 2 の何乗を掛けるかを表します。例えば:0xFp2 は 15 ⨉ 2^2、すなわち 60 を表します。同様に、0xFp-2 は 15 ⨉ 2^-2、すなわち 3.75 を表します。
負の浮動小数点リテラルは、単項演算子のマイナス記号 - と浮動小数点リテラルから構成されます。例:-42.5。
浮動小数点リテラルでは、数字の可読性を高めるためにアンダースコア _ を使用できます。アンダースコアはシステムによって無視されるため、リテラルの値には影響しません。同様に、数字の前に 0 を付けてもリテラルの値には影響しません。
以下は浮動小数点リテラルの例です:
let decimalDouble = 12.1875 //十进制浮点型字面量 let exponentDouble = 1.21875e1 //十进制浮点型字面量 let hexadecimalDouble = 0xC.3p0 //十六进制浮点型字面量
文字列リテラル
文字列リテラルは、二重引用符で囲まれた一連の文字から構成され、形式は次のとおりです:
"characters"
文字列リテラルには、エスケープされていない二重引用符(")、エスケープされていないバックスラッシュ(\)、キャリッジリターン、または改行文字を含めることはできません。
| エスケープ文字 | 意味 |
|---|---|
| \0 | ヌル文字 |
| \\ | バックスラッシュ \ |
| \b | バックスペース(BS)。現在位置を前の列に移動します。 |
| \f | フォームフィード(FF)。現在位置を次のページの先頭に移動します。 |
| \n | 改行文字 |
| \r | キャリッジリターン |
| \t | 水平タブ |
| \v | 垂直タブ |
| \' | 単一引用符 |
| \" | 二重引用符 |
| \000 | 1〜3桁の8進数で表される任意の文字 |
| \xhh... | 1〜2桁の16進数で表される任意の文字 |
以下は文字列リテラルの簡単な例です:
import Cocoa let stringL = "Hello\tWorld\n\nサンプル官网:\'http://www.example.com\'" print(stringL)
上記のプログラムの実行結果は次のとおりです:
Hello World サンプル官网:'http://www.example.com'
ブール型リテラル
ブール型リテラルのデフォルト型は Bool です。
ブール値リテラルには3つの値があり、これらは Swift の予約キーワードです:
true真を表します。
false偽を表します。
nil値がないことを表します。