どうも、ささおです
今回はデータ型についてやっていきます
Contents
データ型って何??
一言でいってしまえば、データの種類です。
- 整数(123)
- 文字列(“Hello World”)
- 真偽値(true/false)
etc…
とにかく色々あります。
細かい説明は後にしてとりあえずやってみましょう!
実際に試す
playgroundでこちらのコードを書いてください。
let name = "ささお" print(type(of: name))
1行目で、定数nameに”ささお”という文字列を代入しています。
2行目で、type(of: name) というものをprint()で出力しています。
type(of: )
type(of: )は新しいコードですね。
これに値を入れると、その値がどんなデータ型か教えてくれます。
print(type(of: name))の出力結果
print(type(of: name))はどんなデータ型を出力しましたか??
そうです。String
です。
String
カタカナで読むならストリングです。響きがかっこいいですね!
これは文字列のデータ型
です。
””で括ると文字列として認識されますね。文字列のデータ型こそが実はStringだったのです。
Int
他にもInt
という型もあります。
Intは整数
の型です。(英語のintegerを縮めたものですね)
numberに1を代入しています
同じようにtype(of: )で型を確認してみるとIntと表示されると思います。
let number = 1 print(type(of: number)) // Int
型の違う変数には代入できない
Swiftでは 変数の型
と代入する値の型
が違う場合には代入することができません。
例をみましょう。
変数name
に "ささお"(String)
を代入して宣言しています。(この時点で変数nameの型はStringになっています)
次に、変数name
に 1(Int)
を代入しようしましたが、エラーになっています。
var name = "ささお" name = 1 // Cannot assign value of type 'Int' to type 'String'

エラーの内容はCannot assign value of type 'Int' to type 'String'
となっていて、
意味は String型にInt型を代入することができないよ〜
となっています。
はっきりと型を宣言する
ここまでで、変数の型は 最初に代入された値の型
になるということがわかりました。
これは 型推論
という機能のおかげです。
わざわざ型を書かなくても、「最初に代入された値の型が変数の型なんだろうな〜」と型を推論してくれるのです。
しかし、型推論させずに変数に型を宣言することもできます。
先ほどの例でみてみましょう。
var 変数名: 変数の型 = 値
と記述します。
変数nameをString型で宣言し、Int型の1を代入しようとしてみました。
するとこのように変数を宣言する段階でエラーが出てきました。
var name: String = 1 //Cannot convert value of type 'Int' to specified type 'String'
まとめ
- データには型がある
- String
- Int
- etc…
- 型の違う変数には代入できない
- 型推論という機能がある