【swift】optional型の基本について初心者が解説

プログラミング

optinal型とは

swiftにはoptional型とoptional型ではないものがあります。swiftではnilが許容されない、言い換えればnilを入れることができません。ただこのOptional型を使うとnilを入れることができるようになります。

 

optional型の宣言

ではoptional型の宣言の方法についてみてみましょう

 

 

?や!を使うことで、このhogeとfugaはoptional型のStringやInt型になります。ではこれらoptional型の変数の中身を確認してみましょう。

 

 

nilが入ってることが確認できますね。

 

オプショナル型以外の?と!

swiftでは?や!を使うけど、optional型ではなく異なる意味を表している文法があるので確認しておきましょう。

Optional型っぽいけどそうではないコード

 

これらはoptional型ではありません。めちゃくちゃ紛らわしい。初見殺しというのはこのことなのでしょうか。

 

?と!ってなにが違うの?

一般的にoptional型と呼ばれるものは?の方を指します。その一方、!は暗黙的アンラップ型(implicity unawrapped optional)と呼ばれるオプショナル型です。では両者の違いをみてみましょう。

 

通常のoptional型

 

通常のoptional型はunwrapする時にするときに!をつける必要があります。unwarpについては後ほど紹介します。

 

暗黙的アンラップ型

 

こちらは自動的にunwrapされた状態であることがわかります。これが暗黙的アンラップ型ですね。

 

 

Optional型をアンラップする

以下のoptional型のintを出力すると

 

出力を見るとOptional(10)という形式になっています。この形式だと、通常のint型と一緒に足し算ができません。このoptionalという包みを剥がす方法をアンラップといいます。その代表的な方法としてforced unwrappingと言います。コードを見てみましょう

Forced unwrapping

 

Optional型の変数の後ろに!をつけるこどでアンラップが可能です。

 

普段使ってる参考書

タイトルとURLをコピーしました