Menu
Coddy logo textTech

if let によるアンラップ

CoddyのSwiftジャーニー「基礎」セクションの一部。レッスン 12/86。

オプショナルの内部にある値に安全にアクセスするには、if letを使用します。これはoptional bindingと呼ばれる手法です。オプショナルに値が含まれているかを確認し、含まれていれば、一時的な定数にアンラップします。

var username: String? = "Swift_Dev"

if let name = username {
    print("Welcome, \(name)")
} else {
    print("No username found")
}
// ようこそ、Swift_Dev

ここでは、if letusername に値があるかどうかを確認します。値があるため、その値は name にアンラップされ、if ブロック内でのみ存在します。usernamenil であれば、代わりに else ブロックが実行されます。

var age: Int? = nil

if let unwrappedAge = age {
    print("Age is \(unwrappedAge)")
} else {
    print("Age not provided")
}
// 年齢が提供されていません

agenil なので、条件は失敗し、else ブロックが実行されます。これにより、欠落した値を直接使用しようとした場合に発生するクラッシュを防ぎます。

challenge icon

チャレンジ

簡単

次の変数が与えられています:

var nickname: String? = "CoddyLearner"

if letを使用してnicknameを安全にアンラップします。値が含まれている場合は、アンラップされたニックネームを[value]として、Hello, [value]!を出力します。nilの場合は、No nickname setを出力します。

REQUIRED OUTPUT FORMAT: [翻訳したコンテンツ]

自分で試してみよう

var nickname: String? = "CoddyLearner"

// TODO: 以下にコードを書いてください
// if let を使って nickname を安全にアンラップする
// 値が含まれている場合は、"Hello, [value]!" を出力する
// nil の場合は、"No nickname set" を出力する
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Swiftプレイグラウンド