Метод замены nil на 0.0 для Double

Используйте nil-coalescing: value ?? 0.0 возвращает исходный Double, если он есть, и ноль при nil.

Короткий ответ

Что ответить на собеседовании

Используйте nil-coalescing: value ?? 0.0 возвращает исходный Double, если он есть, и ноль при nil.

Подробный разбор

Ответ с пояснениями

Условие

Напиши функцию, принимающую значение типа Double? и возвращающую обычный Double, где любой nil заменяется на 0.0. При передаче ненулевого значения оно должно оставаться без изменений.

Ответ

Используйте nil-coalescing: value ?? 0.0 возвращает исходный Double, если он есть, и ноль при nil.

func replacingNilWithZero(_ value: Double?) -> Double {
    value ?? 0.0
}

Примеры: nil превращается в 0.0, 2.5 остаётся 2.5, отрицательное число не изменяется. Нулевое значение внутри optional также сохраняется: проверяется наличие значения, а не его отличие от нуля. NaN и бесконечность являются значениями Double, поэтому функция не заменяет их; такая нормализация потребовала бы отдельного требования.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее