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値がないことを表します。

その他の拡張