カテゴリ: Swift 更新日: 2026/03/23

Swiftのswitch文の使い方|初心者でもわかるパターンマッチング徹底解説

Swift switch文の使い方|パターンマッチング徹底解説
Swift switch文の使い方|パターンマッチング徹底解説

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

生徒

「Swiftでswitchっていうのを見かけたんですけど、これは何に使うんですか?」

先生

switch文は、ある値に応じて実行する処理を切り替えたいときに使います。if文をたくさん書かなくても済む便利な方法なんですよ。」

生徒

「なるほど!具体的にどうやって書けばいいんでしょうか?」

先生

「それでは、switch文の基本の使い方から、便利な書き方まで一緒に見ていきましょう!」

1. switch文とは?

1. switch文とは?
1. switch文とは?

switch文(スイッチぶん)は、Swiftで値に応じて処理を切り替えるための制御構造です。

たとえば、「信号の色に応じて、進む・止まる・注意する」など、状況によって行動を変えたいときに使います。

2. switch文の基本構文

2. switch文の基本構文
2. switch文の基本構文

まずは、switch文の書き方を見てみましょう。これは信号の色によって動作を変える例です。


let signal = "赤"

switch signal {
case "赤":
    print("止まってください")
case "青":
    print("進んでください")
case "黄":
    print("注意してください")
default:
    print("不明な信号です")
}

case(ケース)は、それぞれの条件を表します。defaultは、どのcaseにも当てはまらなかったときに実行される部分です。

3. breakが不要なのがSwiftの特徴

3. breakが不要なのがSwiftの特徴
3. breakが不要なのがSwiftの特徴

Swiftのswitch文は、他の言語と違って、breakを書かなくても自動的に処理が終わります。

例えばJavaでは、各caseの最後にbreakが必要ですが、Swiftでは不要です。そのため、うっかり書き忘れて意図しない動作になる心配がありません。

4. 複数の値をまとめて書く方法

4. 複数の値をまとめて書く方法
4. 複数の値をまとめて書く方法

同じ処理を複数の値に対して行いたいときは、,(カンマ)で区切って書くことができます。


let animal = "犬"

switch animal {
case "犬", "猫":
    print("ペットとして人気です")
case "馬":
    print("走るのが得意です")
default:
    print("未知の動物です")
}

このように複数の選択肢を1つのcaseにまとめることができるので、コードがすっきりします。

5. 数値の範囲を使ったパターンマッチング

5. 数値の範囲を使ったパターンマッチング
5. 数値の範囲を使ったパターンマッチング

Swiftのswitch文では、数値の範囲を条件にすることもできます。


let score = 85

switch score {
case 90...100:
    print("とてもよくできました")
case 70..<90:
    print("よくできました")
case 0..<70:
    print("がんばりましょう")
default:
    print("スコアが不正です")
}

90...100は「90から100までを含む」、70..<90は「70以上90未満」という意味です。

6. where句で条件を追加する

6. where句で条件を追加する
6. where句で条件を追加する

switch文では、whereを使って条件を細かく指定することができます。


let number = -5

switch number {
case let x where x < 0:
    print("負の数です")
case let x where x == 0:
    print("ゼロです")
case let x where x > 0:
    print("正の数です")
default:
    print("数値が不明です")
}

let xで変数に値を取り出して、whereで条件を付けることができます。

7. タプルを使ったswitch文の応用

7. タプルを使ったswitch文の応用
7. タプルを使ったswitch文の応用

Swiftでは、タプル(複数の値をまとめたもの)に対してもswitch文を使えます。


let point = (x: 0, y: 0)

switch point {
case (0, 0):
    print("原点です")
case (_, 0):
    print("X軸上です")
case (0, _):
    print("Y軸上です")
case (-10...10, -10...10):
    print("原点近くです")
default:
    print("遠くの座標です")
}

_(アンダースコア)は、「どんな値でもよい」という意味のワイルドカードです。これを使えば、特定の値だけをチェックすることができます。

8. switch文の注意点とコツ

8. switch文の注意点とコツ
8. switch文の注意点とコツ

switch文を使うときの注意点と、覚えておくと便利なポイントを紹介します。

  • 全てのパターンをカバーする必要がある(defaultが推奨)
  • 範囲やパターンで条件を簡潔に書ける
  • 複数の条件をまとめて扱えるのでif文より見やすい
  • breakは不要なので書き忘れの心配がない

コードの分岐が多い場合や、読みやすく整理したいときには、switch文を積極的に使ってみましょう。

まとめ

まとめ
まとめ

Swiftのswitch文は、初心者が条件分岐を整理して理解しやすくするためにとても便利な構文であり、複雑な条件を視覚的にすっきりまとめられる強力な仕組みです。今回の記事で学んだように、値に応じて異なる処理を振り分ける場合、switchを使うことでコード全体の見通しが大きく改善されます。特に、複数条件をスマートに整理できる点や、不必要なbreakを記述しなくてもよいというSwift独自の特徴は、初心者にとって書きやすさと理解しやすさを同時に実現する大きなメリットになります。信号の色や数値評価、動物の種類、または文字列やタプルの組み合わせなど、日常的な例を通じて学ぶことで、switch文が「単なる条件分岐の手段」ではなく「複雑なルールを整理して読みやすくするツール」であるということが実感できるようになります。

さらに、Swiftではswitch文が非常に多機能であり、単純な値比較だけでなく、範囲指定・パターンマッチング・タプル分解・where句による条件追加など、多様な書き方が可能です。こうした柔軟な表現力のおかげで、if文では煩雑になりがちなロジックも、美しく簡潔なコードへと整理できます。たとえば、テストの点数を評価する処理では範囲を用いたパターン、座標判定ではタプルとワイルドカードを組み合わせることで、処理の意図が非常に明確になります。これは読み手にとっても大きな利点で、条件ごとにまとまりのある構造をそのまま読み進めることができ、誤読や書き間違いを防ぐ効果もあります。

また、Swiftのswitch文は必ず全てのパターンを網羅する必要があるため、漏れのない安全なコードを書くための強い味方にもなります。万が一どのcaseにも当てはまらない状況が発生しても、defaultを記述しておけば予期せぬエラーや処理落ちを防げます。実践的には、APIレスポンスの種類分岐、デバイス状態の判定、配列要素の分類など、多くの場面でswitchが役立つため、基本を早めに身につけておくと今後のプログラミング学習でも大きな力になります。

実際の開発では、条件が増えれば増えるほどswitch文の整理力が活きてきます。特に、複雑な条件が連続して続くコードは、初心者だけでなく経験者にとっても読みづらく、バグの温床になりがちです。そうした場面でswitch文を活用すれば、直感的に追えるロジックを保ちつつ、保守性の高いコードに仕上げることができます。学習の初期段階でswitchの基本と応用を身につけておけば、後々扱うAPIレスポンス判定、UI状態管理、ビジネスロジック分岐などにもスムーズに対応できるようになります。

switch文の応用サンプルコード

以下は複数の条件を組み合わせて判定する応用例で、Swiftのswitch文の柔軟さを実感できるコードです。


let userStatus = (isLogin: true, age: 20)

switch userStatus {
case (true, 18...100):
    print("ログイン中・大人のユーザーです")
case (true, 0..<18):
    print("ログイン中・未成年ユーザーです")
case (false, _):
    print("ログインしていません")
default:
    print("状態を判定できません")
}

タプルと範囲を組み合わせることで、読みやすく明確なロジックを実装できます。複雑な条件整理に役立つので、さまざまな場面で応用してみましょう。

先生と生徒の振り返り会話

生徒

「switch文って、ただ条件分岐するだけじゃなくて、いろんな書き方ができて便利なんですね!」

先生

「その通りです。特に範囲やタプルに対応しているところがSwiftのswitch文の魅力ですね。複雑な条件でもすっきり整理できますよ。」

生徒

「if文で書くと長くなる処理も、switch文なら見やすくまとめられるってわかりました!」

先生

「その気づきはとても大事です。プログラムは読みやすさが大切ですから、switch文を使いこなせるとコードの質がぐっと上がりますよ。」

生徒

「タプルやwhere句の使い方も面白かったです!もっと練習して慣れていきたいと思います!」

先生

「その意欲があれば大丈夫。これから書くコードでどんどんswitch文を試して、表現力を広げていきましょう。」

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

Swift実践入門をAmazonで見る

※ Amazon広告リンク

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Swiftのswitch文とは何ですか?初心者にもわかる意味と使い方を教えてください

Swiftのswitch文とは、ある値に応じて処理を分岐させるための構文です。if文のように複数の条件をチェックせず、すっきりと整理して書けるのが特徴です。

Swiftでswitch文の基本的な構文はどう書きますか?

switch文では、switchの後に判定したい変数を書き、その中にcaseごとの条件と処理を並べます。最後にdefaultでどのcaseにも当てはまらないときの処理を記述します。
関連セミナーのご案内

Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略

Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略

「iPhoneアプリを作りたいけれど、Macを持っていないから諦めている」そんな方のための画期的な入門講座です。実は、プログラミングの本質を学ぶのに高価な機材は必要ありません。本講座では、Windowsパソコンを使用し、クラウド環境を活用してAppleの最新言語Swift(スウィフト)の基礎を最短距離でマスターします。

Windowsで実現する開発環境

【つくるもの】
ブラウザ上で動作する「スマート・計算ツール」や「データ判定プログラム」をゼロから作成します。変数の扱いや条件分岐など、iPhoneアプリの内部で動くロジックを自分の手で構築する感動を体験してください。

【開発環境】
ブラウザだけでSwiftが動くプロ仕様のオンラインエディタ(Replit等)を使用します。面倒な設定は一切不要。今あるWindows PCで、プロのエンジニアと同じコードを書き始められます。

この60分で得られる3つの理解

1. WindowsでのSwift実行環境の作り方

OSの壁を越え、クラウドを活用してスマートに学習を開始する「現代的な開発スタイル」を習得します。

2. Swiftの基本構造(変数・型・定数)

iPhoneアプリ特有のデータの扱い方や、Appleが推奨する「安全で美しいコード」の書き方を学びます。

3. アプリエンジニアとしてのロードマップ

将来的にiOSエンジニアとして副業・転職するために必要な準備や、Mac選びのポイントを伝授します。

※本講座は、将来的にiPhoneアプリ開発で収益化や転職を目指したい未経験者のためのエントリー講座です。マンツーマン形式により、Windows環境ならではの疑問にもその場でお答えし、あなたの理解度に合わせて進行します。

セミナー画像

Windowsで始めるiPhoneアプリ開発入門

カテゴリの一覧へ
新着記事
New1
Go言語
Go言語のwhile的なforループの使い方!条件式ループの基本を解説
New2
Swift
Swiftのswitch文の使い方|初心者でもわかるパターンマッチング徹底解説
New3
Kotlin
Kotlinの認証と認可を完全解説!初心者でもわかる安全なログイン管理とセキュリティ対策
New4
Go言語
Go言語の関数でエラーハンドリングする基本的な方法
人気記事
No.1
Java&Spring記事人気No1
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.2
Java&Spring記事人気No2
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.3
Java&Spring記事人気No3
Go言語
Go言語でリダイレクト処理を行う方法(http.Redirect)を初心者向けに解説
No.4
Java&Spring記事人気No4
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.5
Java&Spring記事人気No5
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.6
Java&Spring記事人気No6
Go言語
Go言語のgo.modファイル完全ガイド!初心者でもわかる仕組みと書き方
No.7
Java&Spring記事人気No7
Kotlin
Kotlinの文字列の部分取得!substring・take・dropの基本
No.8
Java&Spring記事人気No8
Go言語
Go言語でミドルウェアを作成する方法と活用例!初心者でもわかるWebアプリ開発