Swift は、型安全(タイプセーフ)な言語です。タイプセーフな言語は、コードが扱う値の型が明らかで、String
を期待するコード部分に誤って Int
を渡すようなことができません。
Swift はタイプセーフであるため、コードをコンパイルする時に型をチェックし、適合しない型にエラーとして印を付けます。これにより、開発の早い段階でエラーを発見し、修正できるようになります。
型チェックは異なる型を扱うときのエラーを回避することに役立ちますが、宣言するすべての定数と変数に型を指定する必要はありません。型を指定しない場合、Swift は適切な型を推論 (type inference) します。型推論は、コードをコンパイルする時に値を検査して、コンパイラが自動的に式の型を推論できるようにします。
型推論によって、C や Objective-C と比較して、Swift では型宣言が必要となる場面が少なくなります。
型推論は、初期値とともに定数または変数を宣言する場合に特に役立ちます。定数または変数の宣言時にリテラル値を代入する場合のことです。(リテラル値とは、下の例にある 42
や 3.14159
のように、ソースコードに直接現れる値のことです。)
例えば、型を指定せずに新しい定数にリテラル値 42
を代入する場合、Swift はこの定数が Int
であると推論します。なぜなら、整数のように見える数値で初期化しているためです。
let meaningOfLife = 42
// meaningOfLife は、Int 型と推論されます
同様に、浮動小数点リテラルの型を指定しない場合、Swift は Double
と推論します。
let pi = 3.14159
// pi は Double 型と推論されます
Swift は、浮動小数点数の型を推論するとき、常に(Float
でなく)Double
を選択します。
整数と浮動小数点のリテラルを結合すると、Double
型と推論されます。
let anotherPi = 3 + 0.14159
// anotherPi も Double 型と推論されます
リテラル値の 3
には明示的な型の指定が無く、浮動小数点リテラルとの足し算があることから、Double
型と推論されます。
Portions of this page are translations based on work created and shared by Apple and used according to terms described in the Creative Commons Attribution 4.0 International License.