月ノ書

【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 文

条件をさらに細かく分けることも可能

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ランク")
}

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歳未満、または年齢不明のため入場できません

まとめ

この基礎を押さえると、Swiftでの条件判定やエラー処理をわかりやすく書けるようになる

学習進捗

0
Would love your thoughts, please comment.x