【Swift】guard letについて改めて復習

更新

guard letの利点

  • 早期リターン(さっさと処理を抜けたい時に使える)

使い方

サンプルコード1
定数(変数)のnilチェック

let value = nil

guard let value = value else {
    // nilの場合はreturn
    return
}

サンプルコード2
定数(変数)のnilチェック(複数版)

let value1 = nil
let value2 = nil

guard let value1 = value1,
      let value2 = value2 else {
    // value1がnilの場合、value2の判定をせずにreturn
    return
}

サンプルコード3
定数(変数)の値の比較

let value1 = nil
let value2 = nil

guard value1 == value2 else {
    // value1とvalue2が同じでなければreturn
    return
}

サンプルコード4
guardの中で型変換

let value = "2022"

guard let number = Int(value) else {
    // intに変換できない時return
    return
}

サンプルコード5
guardの中で値を生成

guard let url = URL(string: "https://sogablog.net") else {
    // urlの生成が失敗(urlで無かった場合)return
    return
}

おまけ

Swift 5.7(Xcode 14)から以下の書き方ができる

let value = nil

guard let value else {
    return
}