22/305 sprint 1 Неопциональные типы и опционалы!
🌀 Неопциональные типы Я уже знакома с основными типами данных: Int, String, Float, Double и Bool. Например, я создала переменную для хранения температуры воздуха:
var temperature: Int
Но вот что меня удивило: если я попытаюсь использовать эту переменную до того, как присвою ей значение, Swift выдаст ошибку! Это значит, что переменные должны быть инициализированы перед использованием.
🌀 Отсутствие значения — тоже значение Иногда отсутствие значения может быть значимым. Например, когда мы получаем данные с сервера. В таких случаях переменная может оставаться пустой до тех пор, пока мы не получим нужные данные:
var messageRecieved: Bool = false var message: String
Здесь мы можем использовать переменную messageRecieved, чтобы проверить, получили ли мы сообщение.
🌀 Что такое опционалы? Опционалы — это возможность сообщить программе, что переменная может иметь значение или нет. Чтобы создать опционал, просто добавьте знак вопроса ? к типу:
var temperature: Int?
Теперь, если я попытаюсь вывести temperature, результатом будет nil, что означает отсутствие значения.
🌀 Проверка на nil Благодаря опционалам мы можем избежать создания лишних переменных. Например, вместо проверки messageRecieved, я просто проверяю значение message на nil:
if message != nil { print(message) }
Если мы присвоим значение message:
message = "Hello, Astronaut"
То выведется Optional("Hello, Astronaut"). Это значит, что теперь у нас есть значение