【Swift】Swiftの型について詳しく説明する

【Swift】Swiftの型について詳しく説明する

どうもふっさんです。

今回はSwiftの型について詳しく書いていきたいと思います。

 

まずプログラミングにおける型とは

Int型、Double型、String型などなどプログラミングにはたくさんの「型」というものがあります。

「型」とはあるデータがどのようなデータなのかを規定するためのものです。

 

例えば「1」

これはInt型で、数値を表します。

次に「1.23」

これは小数点以降も値があるのでDouble型で、数値を表します。

じゃあ「ふっさん」

これはString型で文字列を表します。

 

このように型によってデータがどのようなものなかがわかります。

プログラミングでは変数宣言時にこの型というものが使われます。

 

例えば最初に書いた「1」。

これはもしかすると文字列の1かもしれないし、数値の1かもしれないわけです。

もし文字列の1であれば、「1 + 1」などの演算を行うことができません。

例えると「あ + あ」みたいなものです。

答えを出すことはできませんよね。

 

このような理由から、変数がどのような型で宣言されているかによって、代入される値の扱い方も変わってくるわけです。

ですから、もし文字列の1を扱いたい場合は、

と書きます。

 

逆に数値で扱いたい場合は、

と書くんですね。

 

ただ基本的に1などは数値として扱われるので文字列で扱わない場合、

と宣言すれば、自動的にInt型として認識してくれるようになっています。

この仕組みについては下で説明します!

 

Swiftの型の決定

C言語などであれば、変数の宣言は以下のように行います。

 

そしてSwiftの変数宣言。

 

なぜこのような違いがあるか。

この場合C言語もSwiftも、Int型の変数aを宣言しています。

ちなみにSwiftの変数宣言にある:Intですが、これは「型アノテーション」と言われていて、変数宣言時の型を決定する役割を持っています。

 

じゃあなぜvarという単語がはじめに必要なのか。

それはこのような記述も行うことができるようになるからです。

これは型アノテーションではなく、「型推論」によって型が決定されている宣言です。

1が数値であると認識して、変数の型が自動的にInt型になっています。

 

ちなみに以下のように宣言すると、Double型にもString型にもなります。

 

このように「型推論」することによって、コードの冗長な部分を排除されコードが簡潔になるなどのメリットがあります。

 

演算時の型

Swiftでは演算時も厳しく、「同じ型」でないと演算することができません。

そのため無理な演算が行われる前に、コンパイルエラーで知ることができます。

 

ですがこのような場合、「イニシャライザ」を使って型変換を行います。

これによって演算が可能となります。

Swiftではこのようにして型を揃えて演算を行うようになっています。

 

そしてイニシャライザとは初期化を行うもので、上では型変換を行い初期化しています。

これはクラスを生成するときにも出てくるワードなので、覚えておきましょう!

詳しいクラスでの使い方はこちら。
[kanren2 postid=”1093″]

 

まとめ

 

型一つによって、演算ができないなどのエラーが出ます。

だからvarで宣言する際も、どのような型の変数になっているのか意識しながらプログラミングしましょう!

プログラミングはちょっとしたことが命取りになりやすいですからね。

 

Swiftカテゴリの最新記事