ワイ、そして IT ときどき何か。

日々のとりとめのない記録

Swift の guard のメリット

Swift の guard のメリットがよくわからなかったのでまとめてみた。

・アンラップした変数を使うことができるので、構文的に短くて済む。

・中断処理条件で抜けるところが分かり易い

if 分の場合

func test(myMoney: Int?) {
  if myMoney == nil {
    print("お金がないよ")
    return
  }
  let money = myMoney!
  print("お金は\(money)円持ってるよ!")
}

もしくは

func test(myMoney: Int?) {
  if myMoney == nil {
    print("お金がないよ")
    return
  }
  if let money = myMoney {
    print("\(money)円持ってるよ")
  }
}

guard の場合

func test(myMoney: Int?) {
  guard let money = myMoney else {
    print("お金がないよ")
    return
  }
  print("\(money)円持ってるよ")
}