#5 Swiftで学ぶ条件分岐の基本
Swiftの条件分岐は、基本的な書き方に加えて、オプショナル型と組み合わせた独自の書き方が特徴です。この記事では、Swiftにおける条件分岐の基本と、安全な値の取り出し方を解説します。
if文の基本
let age = 20
if age >= 18 {
print("成人です")
} else {
print("未成年です")
}
Goと同様、条件をかっこで囲む必要がありません。
if letという独自の書き方
Swiftには、値が入っているかもしれない(オプショナル型の)変数を安全に扱うためのif letという書き方があります。
if let name = nickname {
print("こんにちは、\(name)さん")
} else {
print("ニックネームが設定されていません")
}
「nicknameに値が入っていれば、それをnameという名前で取り出して処理を続ける」という意味を持つ、Swiftならではの書き方です。
guard文で早期リターンする
条件を満たさない場合にすぐ処理を打ち切りたいときは、guardという書き方も便利です。
func greet(_ nickname: String?) {
guard let name = nickname else {
print("ニックネームが設定されていません")
return
}
print("こんにちは、\(name)さん")
}
if letと違い、guardは条件を満たさない場合に必ず処理を抜ける前提で書くため、正常系の処理をネストさせずにまっすぐ書ける利点があります。
switch文の柔軟さ
Swiftのswitch文は、範囲指定や複数条件のグループ化にも対応しており、他の言語のswitchより柔軟に書けます。
switch score {
case 90...100:
print("優")
case 70..<90:
print("良")
default:
print("可")
}
複数のオプショナルをまとめて確認する
if letはカンマで区切ることで、複数のオプショナル値を一度に確認できます。
if let name = nickname, let age = userAge {
print("\(name)さんは\(age)歳です")
}
どちらか一方でも値が無ければ、ifブロックの中身は実行されません。
Swiftならではの注意点
if letという書き方は、最初は独特に感じるかもしれません。しかし「値が存在することを確認してから、安全に使う」という考え方は、Swiftの安全性を支える重要な仕組みです。オプショナル型を学ぶ際は、必ずセットで覚えておきましょう。
まとめ
Swiftの条件分岐は基本的なif・elseに加え、if let・guardによるオプショナル型の安全な取り出しが特徴です。この書き方に慣れることが、Swiftらしいコードへの近道です。
本ページはプロモーションを含みます。
参考書籍(PR)
Swiftをもっと学びたい方には「これからつくる iPhoneアプリ開発入門」がおすすめです。
PR
コードを書かずに自動化したい方へ
「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿