Извлечение значения с помощью if let
Часть раздела Основы путешествия по Swift на Coddy. Урок 12 из 86.
Чтобы безопасно получить доступ к значению внутри опционала, мы используем if let: технику, называемую привязкой опционала. Она проверяет, содержит ли опционал значение, и, если содержит, распаковывает его во временную константу.
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. Это предотвращает сбои, которые произошли бы, если бы мы попытались напрямую использовать отсутствующее значение.
Задание
ЛегкоВам предоставлена следующая переменная:
var nickname: String? = "CoddyLearner"Используйте if let, чтобы безопасно извлечь значение из nickname. Если оно содержит значение, выведите Hello, [value]!, где [value] — извлечённое значение псевдонима. Если это nil, выведите No nickname set.
Попробуйте сами
var nickname: String? = "CoddyLearner"
// TODO: Напишите свой код ниже
// Используйте if let, чтобы безопасно извлечь значение nickname
// Если nickname содержит значение, выведите "Hello, [value]!"
// Если nickname равен nil, выведите "No nickname set"В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеПовторение: простая математикаОператоры сравнения7Основы ввода-вывода
Функция printИнтерполяция строкВвод с ReadLineПреобразование типовПовторение: до 120Повторение: истина или ложь2Переменные
Let и VarАннотации типовЧислаСтрокаЛогический типСоглашения об именованииПовторение — инициализация переменных5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Повторение: простая логикаЛогические операторы, часть 3Тернарный оператор8Калькулятор разделения счёта
Приветственное сообщениеВвод данных14Массивы: продвинутый уровень
Срезы массивов. Часть 1Срезы массивов. Часть 2Операторы последовательностейМетод Contains3Опциональные значения
Что такое опциональные значенияИзвлечение значения с помощью if letGuard letОператор объединения с nilПовторение — безопасное извлечение значения6Принятие решений
Условный оператор ifIf — ElseПовторение: простой калькуляторОператор switchSwitch с диапазонами9Циклы
Цикл for-inЦикл whileЦикл repeat-whileПрерывание циклаПереход к следующей итерацииПовторение — факториалДиапазоны в циклахВложенный циклПовторение — динамический вводПотренируйтесь самостоятельно: Песочница Swift