Выбор ответа Junior Опционалы обновлено
Оператор ?? в Swift
Вопрос
Чему равно let n = Int("12a") ?? -1?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: -1. Инициализатор Int(: String) проваливаемый (failable) и возвращает Int?: строку "12a" он не разбирает целиком и даёт nil.
Варианты ответа
12-1правильный ответnil- Ошибка компиляции:
Int(_:)не опционален
Разбор
Инициализатор Int(_: String) проваливаемый (failable) и возвращает Int?: строку "12a" он не разбирает целиком и даёт nil. Оператор ?? подставляет значение по умолчанию, поэтому n равно -1 и имеет тип Int, а не Int?. Частичного разбора до 12 нет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.