Menu
Coddy logo textTech

Развертывание с помощью if let

Часть раздела Основы путешествия по Swift на Coddy. Урок 12 из 86.

Чтобы безопасно получить доступ к значению внутри optional, мы используем if let: технику, называемую optional binding. Она проверяет, содержит ли optional значение, и, если да, безопасно извлекает его во временную константу.

var username: String? = "Swift_Dev"

if let name = username {
    print("Welcome, \(name)")
} else {
    print("No username found")
}
// Добро пожаловать, Swift_Dev

Здесь if let проверяет, имеет ли username значение. Поскольку это так, значение извлекается в name, которое существует только внутри блока if. Если бы username было равно nil, вместо этого выполнился бы блок else.

var age: Int? = nil

if let unwrappedAge = age {
    print("Age is \(unwrappedAge)")
} else {
    print("Age not provided")
}
// Возраст не указан

Поскольку age равно nil, условие не выполняется, и выполняется блок else. Это предотвращает сбои, которые произошли бы, если бы мы попытались напрямую использовать отсутствующее значение.

challenge icon

Задание

Легко

You are provided with the following variable:

var nickname: String? = "CoddyLearner"

Используйте if let, чтобы safely извлечь значение из nickname. Если оно содержит значение, выведите Hello, [value]!, где [value] — это извлечённое значение nickname. Если это nil, выведите No nickname set.

REQUIRED OUTPUT FORMAT: [Your translated content here]

Попробуйте сами

var nickname: String? = "CoddyLearner"

// TODO: Напишите ваш код ниже
// Используйте if let для безопасного разворачивания nickname
// Если оно содержит значение, выведите "Hello, [value]!"
// Если оно nil, выведите "No nickname set"
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Swift