Swiftの「条件分岐」と「パターンマッチング(switch)」は、プログラムの実行の流れを制御するために使われます。特にswitch文は、単なる条件分岐だけでなく、強力なパターンマッチング機能を備えており、Swiftの特徴の一つです。
1. if と else による条件分岐
if と else による条件分岐
基本構文:
-
ifは条件がtrueの場合に実行されます。 -
else ifは複数の条件をチェックできます。 -
elseは全ての条件がfalseだった場合に実行されます。
2. switch 文によるパターンマッチング
switch 文によるパターンマッチングswitch文は値に対するさまざまなパターンをマッチさせて分岐処理を行います。Swiftのswitchは**網羅性(exhaustiveness)**が求められ、すべての可能性を処理する必要があります。
基本構文:
-
..<は半開区間(例: 0以上60未満) -
...は閉区間(例: 80以上100以下) -
defaultはすべてのケースにマッチしない場合に必須
3. 複数の値とのマッチ
-
複数の値をカンマで区切って同じ処理をまとめられます。
4. where 節を使った条件付きマッチ
where 節を使った条件付きマッチ
-
whereを使うことで、より柔軟な条件を設定できます。
5. 値の束縛(let / var)による変数の取得
let / var)による変数の取得
-
letでパターン内の値を変数に束縛できます。 -
_(ワイルドカード)を使えば特定の値を無視できます。
6. 列挙型との組み合わせ(enumのパターンマッチ)
enumのパターンマッチ)Swiftのswitchは、列挙型との相性が非常に良いです。
列挙型がassociated valueを持つ場合もマッチできます。
まとめ
| 機能 | 説明 |
|---|---|
if-else |
条件が複雑でない場合に使う基本的な分岐 |
switch |
複数の条件を整理して分岐させたいときに使用 |
| パターンマッチ | タプル、範囲、列挙型など多様な形式に対応 |
where |
条件をさらに細かく指定する |
let / var バインディング |
値を抽出してそのまま利用する |
生成日:2025/05/04