In SWIFT

【SWIFT3.0】変数にある「?」や「!」は、なんの意味があるのか。

Swiftのプログラミングを行う上でよく見る、

変数にある「?」や「!」マークは何のためにあるんだろうか。

上記内容を自分なりにまとめて見ました!

 

「?」「!」マークは何か、

ズバリ言うとオプショナル型と言うものらしいです。

オプショナル型とはなんぞや

「nilのデータを含むデータがこの変数には入りますよ!」と宣言しているようです。

何故そんなことが必要なのか。

var age:Int = nil

print(age + 1)

上記のようなコードを書くと必ずエラーになります。

多分どんな言語でもエラーになります。

それは、nilに数値を足すことは出来ないからです。

 

上記のようなエラーを数兆回人類は、繰り返しています。

 

SWIFTを作った人は、そんなミスを防ぐためにオプショナル型と言うものを作ったのでしょう。

 

終わり。

 

結局どうやって使うのが正しいのか

 

nilが入る変数には、必ず指定しようねと言うことです。

 

以下使い方

「?」を指定すると、変数の値を取り出すときに「!」マークの指定が必要になります。

var age:Int? = nil

print(age! + 1)

※このコードはクラッシュします。

こんな感じで、変数から値を出す時とかに「!」を指定します。

「!」を付けることで、

「この変数には、中身がありまーす。」と宣言する必要があるのです。

 

こんな書き方もあります。

var age:Int! = nil

print(age + 1)

※このコードはクラッシュします。

こうすると、変数を使うときにそのまま使用することができます。

 

そもそもnilとはなんぞや

※nil:ラテン語のnihil(ニヒル)が語源 「無」 と言う意味

他の言語では、「null」とか言われているやつです。

 

共有してくれると嬉しいです!

,