【Swift】Switch文の使用方法!比較演算子での分岐や列挙型

この記事からわかること
- Swiftの基本構文
- Switch文とは?
- caseやdefault、fallthroughの意味と使い方
\ アプリをリリースしました /
SwiftのSwitch文の使い方
様々なプログラミング言語でも使用されているSwitch文
ですが、それぞれ微妙に文法が違ったりしてややこしいです。
SwiftでももちろんSwitch文が用意されているので文法や使い方、意味などをまとめておきたいと思います。
基本構文
Switch文は条件によって処理を分岐させたい時に利用する構文です。switch
の後に対象となるデータを変数や式として渡し{}
の中にcase 条件:
と羅列していきます。
条件のどれにもマッチしない場合としてdefault
の記述も必要になります。
変数の値で分岐させる
実際に使用例を見てみます。変数num
に格納されている数値によって表示を変化させます。
複数の条件を指定する
複数の条件を指定する際はcase
の後にカンマ区切りで条件を羅列します。
範囲で分岐する
決め内ではなく、数値を範囲で分岐させることも可能です。その場合は範囲を定義する...
で指定します。
比較演算子を使って分岐する
「〇〇以上」や「〇〇未満」などは比較演算子(>や<
)を使って指定します。
breakとfallthrough
Switch文は基本的にマッチした条件が見つかれば処理を終了し後続の条件チェックを行いません。他のプログラミング言語ではbreak
の記述が必要でしたがSwiftでは記述しなくてもマッチした条件があると自動で処理を終了します。
逆に条件にマッチした後に後続の条件チェックを実行させるにはfallthrough
を指定します。
列挙型で分岐させる
Switch文には列挙型を渡すことも可能です。列挙型を指定するとコード補完で自動的に全てのcase
を記述してくれます。
switch文を使った分岐処理を記述する際に列挙型を比較値として指定する場合、各項目を網羅できるように記述しないとエラーを起こしてくれます。これにより分岐処理の記述漏れを起こすことがなくなります。
switch文での条件漏れエラー
expression failed to parse:
error: switch must be exhaustive

私がSwift UI学習に使用した参考書
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。