Пропуски Junior Опционалы обновлено

Ранний выход через guard let

Вопрос

Допишите функцию, чтобы она возвращала nil при пустом или нечисловом вводе.

func parseAge(_ text: String?) -> Int? {
    __(1)__ let text, let age = Int(text) __(2)__ {
        return nil
    }
    return age
}

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

Заполните пропуски по номерам.

1
2
Показать ответ и разбор

Коротко

guard ... else { return nil } распаковывает оба значения или выходит из функции. Короткая форма let text (без = text) работает с Swift 5.7.

Что в пропусках

1

guard

2

else

Разбор

guard ... else { return nil } распаковывает оба значения или выходит из функции. Короткая форма let text (без = text) работает с Swift 5.7.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме