Apple の Swift をマイペースに学ぶ Langage Guide編 (13)
型安全と型推論
Swiftは型安全な言語。
型安全な言語は、型を明確にコーディングすることを推奨します。
String型を期待したコードに、誤ってInt型を代入することが出来ない。
Swiftはコンパイル時に型チェックを実行し、型の不一致をエラーとして知らせる。
これはエラーの早期発見、迅速な修正を可能にする。
型チェックは型の不一致によるエラーを防ぐ。
しかし、それは全ての変数(または定数)の宣言で型を明確する必要がある訳ではない。
型を指定しなければ、Swiftが適切な型を推論する。
型推論はコンパイル時に行われる。コンパイラは初期値から型を推測する。
Swiftが必要とする型宣言はCやObjective-Cよりも少ない。
変数や定数が型指定されるのは、むしろ開発者自身の為と言える。
初期値を用いた変数(または定数)の宣言時、型推論は非常に便利です。
よく変数の宣言時に直値を代入するように記述されます。
例えば、新しい定数に42を代入する。すると、整数に見える事からSwiftはInt型と推測する。
let meaningOfLife = 42
// meaningOfLife はInt型と推論される
同様に少数値を用いるとSwiftはDouble型と推測する。
let pi = 3.14159
// pi is inferred はDouble型と推論される
少数値が初期値の場合はSwiftはFloatよりもDoubleを選択する。
もし、整数と少数を混合した表記をした場合、Doubleと推論される。
let anotherPi = 3 + 0.14159
// anotherPi もDouble型と推論される
3の表記そのものは明確に型を持っていない。そして少数値が加算されていることから、適切な型はDoubleとなる。