カテゴリ: Swift 更新日: 2026/02/17

Swiftのif caseとguard caseを完全解説!初心者でもわかる条件分岐の使い方

Swift if case・guard case の使い方
Swift if case・guard case の使い方

先生と生徒の会話形式で理解しよう

生徒

「Swiftで特定のパターンだけを条件分岐したいときってどうすればいいんですか?」

先生

「その場合は、if caseguard caseを使うと便利ですよ!」

生徒

「普通のif文やswitch文じゃだめなんですか?」

先生

「もちろん使えますが、if caseguard caseを使うと、より簡潔に書けるんです。それでは基本から見ていきましょう!」

1. Swiftのif caseとは?

1. Swiftのif caseとは?
1. Swiftのif caseとは?

Swiftのif caseは、「特定のパターンにマッチするかどうか」を条件にできる構文です。switch文のように複数のケースを分けるのではなく、「このパターンだけを処理したい!」というときに便利です。

たとえば、列挙型(enum)の中である特定の値だけを判定したい場合に使えます。

2. if caseの基本的な使い方

2. if caseの基本的な使い方
2. if caseの基本的な使い方

次のようなenumがあったとします。


enum 天気 {
    case 晴れ
    case 曇り
    case 雨
}

この天気のときだけ、傘を持っていく処理をしたいとしましょう。その場合、if caseを使ってこう書けます。


let 今日の天気 = 天気.雨

if case .雨 = 今日の天気 {
    print("傘を持っていきましょう!")
}

このように、if case .雨 = 今日の天気という書き方で、「今日の天気が雨だったら」という条件が書けるのです。

3. if caseと値の取り出し

3. if caseと値の取り出し
3. if caseと値の取り出し

列挙型に関連値(変数を持つケース)がある場合は、その中の値を取り出すこともできます。


enum メッセージ {
    case テキスト(String)
    case 画像(URL)
}

このメッセージがテキストのときだけ、その文字列を取り出して使うには、次のように書きます。


let 受信メッセージ = メッセージ.テキスト("こんにちは!")

if case let .テキスト(内容) = 受信メッセージ {
    print("テキスト内容: \(内容)")
}

case letを使うことで、関連するデータ(この場合は内容)を簡単に取り出すことができます。

4. guard caseとは?

4. guard caseとは?
4. guard caseとは?

guard caseif caseと似ていますが、早めに関数から抜けたいときに使います。「この条件じゃなければ早く抜ける」という処理に向いています。

たとえば、関数の最初で条件チェックをして、合わなければすぐreturnしたいときなどです。

5. guard caseの使い方

5. guard caseの使い方
5. guard caseの使い方

先ほどと同じメッセージの例で、関数の中で処理する場合を考えてみましょう。


func メッセージを表示する(_ メッセージ: メッセージ) {
    guard case let .テキスト(内容) = メッセージ else {
        print("テキストメッセージではありません")
        return
    }

    print("受信したテキスト: \(内容)")
}

guard caseを使うと、条件に合わなかった場合にelseの中で処理をして、早めに抜けることができます。条件に合えばその後のコードが実行されます。

6. if caseとguard caseはいつ使う?

6. if caseとguard caseはいつ使う?
6. if caseとguard caseはいつ使う?

ここまでの説明をふまえて、それぞれの使い分けの目安は以下の通りです。

  • if case: 条件に合ったときだけ処理をしたい場合に使う
  • guard case: 条件に合わなければ処理を中断したいときに使う

特にguard caseは、関数の早期リターンに使うとコードがすっきりします。

7. 実際の例:ログインチェック

7. 実際の例:ログインチェック
7. 実際の例:ログインチェック

次に、より現実的な例としてログイン状態のチェックを考えてみましょう。


enum ログイン状態 {
    case 未ログイン
    case ログイン中(ユーザー名: String)
}

func ダッシュボードに進む(_ 状態: ログイン状態) {
    guard case let .ログイン中(ユーザー名) = 状態 else {
        print("ログインが必要です")
        return
    }

    print("\(ユーザー名) さん、ようこそ!")
}

このようにguard caseを使うことで、ログインしていない場合は早めに関数を抜けることができます。初心者の方でも、読みやすく理解しやすいコードになります。

Swiftを基礎から実践レベルまで学びたい人や、 iOSアプリ開発を本格的に始めたい人には、 定番の入門+実践書がこちらです。

Swift実践入門をAmazonで見る

※ Amazon広告リンク

8. Swiftのif caseとguard caseでコードをシンプルに!

8. Swiftのif caseとguard caseでコードをシンプルに!
8. Swiftのif caseとguard caseでコードをシンプルに!

Swiftのif caseguard caseは、特定の条件にマッチした場合だけ処理をしたいときにとても便利な書き方です。

特にguard caseは、条件に合わない場合に早く抜けるという設計ができるため、初心者の方でも無理なく読みやすいコードが書けます。

複雑に見えるかもしれませんが、実はswitch文の一部を簡略化したようなものです。パターンマッチングを使って、Swiftらしいシンプルで安全なコードを目指しましょう!

カテゴリの一覧へ
新着記事
New1
Kotlin
Kotlinのキーワード一覧と使い方!初心者が知っておくべき予約語を解説
New2
Go言語
Go言語のスライスのcopy関数とスライス操作の基本テクニック
New3
Kotlin
Kotlinのコーディング規約(公式スタイルガイド)とは?読みやすいコードを書くための基本ルール
New4
Go言語
Go言語のstringsパッケージの便利な関数まとめ(Trim・Splitなど)
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語でのDB接続情報を環境変数で管理する方法|初心者でも安全に設定
No.2
Java&Spring記事人気No2
Kotlin
KotlinのChannelでデータをやり取りする方法を完全ガイド!初心者にもわかる非同期通信の基本
No.3
Java&Spring記事人気No3
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.4
Java&Spring記事人気No4
Go言語
SwiftでJSONを扱う基本を完全ガイド!初心者でもわかるCodableの使い方
No.5
Java&Spring記事人気No5
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.6
Java&Spring記事人気No6
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.7
Java&Spring記事人気No7
Kotlin
Kotlinのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.8
Java&Spring記事人気No8
Go言語
Go言語のgo.modファイル完全ガイド!初心者でもわかる仕組みと書き方

💻 作業効率アップに

ノートPCを縦置きしてデスクを広く。
省スペースで片づく定番スタンド

UGREEN 縦型スタンドをAmazonで見る

※ Amazon広告リンク