【Swift入門】条件分岐を使いこなす:if・switch・guardの基礎と実践
この記事でわかること
- Swiftでの基本的な条件分岐
if文の使い方 - 複数条件を効率的に扱う
switch文の活用法 - 条件を満たさない場合に早期リターンできる
guard文の使い方
if 文の基本
if 文は最も基本的な条件分岐で、「もし~なら処理する」と書ける
let score = 75
if score >= 80 {
print("とてもよくできました!")
} else if score >= 60 {
print("合格です")
} else {
print("不合格です")
}合格ですif → else if → elseの順で条件をチェックし、最初に当てはまったブロックを実行する
ネストした if 文
条件をさらに細かく分けることも可能
let age = 20
let hasID = true
if age >= 18 {
if hasID {
print("入場できます")
} else {
print("身分証を持ってきてください")
}
} else {
print("18歳未満は入場できません")
}入場できますswitch 文の使い方
Swift の switch 文は非常に強力で、整数だけでなく文字列や範囲、パターンマッチも可能。break を書かなくても自動で分岐が終了する
let grade = "B"
switch grade {
case "A":
print("素晴らしい!")
case "B":
print("よくできました")
case "C":
print("合格です")
default:
print("再試験です")
}よくできました範囲を使った switch 文
let score = 72
switch score {
case 90...100:
print("Sランク")
case 80..<90:
print("Aランク")
case 60..<80:
print("Bランク")
default:
print("Cランク")
}90...100は閉区間演算子(90以上100以下)80..<90は半閉区間演算子(80以上90未満)
Enum と組み合わせた switch 文
enum Result {
case success(data: String)
case failure(error: String)
}
let result: Result = .success(data: "OK")
switch result {
case .success(let data):
print("成功: \(data)")
case .failure(let error):
print("失敗: \(error)")
}成功: OK- エラーハンドリングや状態管理で便利
論理演算子との組み合わせ
条件は &&(AND)、||(OR)、!(NOT)で組み合わせ可能
let age = 19
let hasTicket = false
if age >= 18 && hasTicket {
print("入場できます")
} else {
print("入場できません")
}入場できませんguard 文(早期リターン)
guard 文は条件を満たさない場合に早く処理を抜けられる便利な構文
func enter(age: Int?, ticket: Bool) {
guard let age = age, age >= 18 else {
print("18歳未満、または年齢不明のため入場できません")
return
}
guard ticket else {
print("チケットを持っていないので入場できません")
return
}
print("入場できます!")
}
enter(age: 20, ticket: true)
enter(age: 16, ticket: true)
enter(age: nil, ticket: true)入場できます!
18歳未満、または年齢不明のため入場できません
18歳未満、または年齢不明のため入場できません- ネストが深くならず、読みやすいコードを書くことができる
まとめ
if文で基本的な条件分岐ができるswitch文を使うと複数条件や範囲・Enumを効率的に分岐できるguard文は条件を満たさない場合の早期リターンに最適
この基礎を押さえると、Swiftでの条件判定やエラー処理をわかりやすく書けるようになる