Sobes.tech
Назад к вопросам
Junior — Middle
75

Можно ли создать собственную реализацию типа Optional для обработки возможных отсутствующих значений?

Компании, где спрашивали
VKVK

Ответ от нейросети

sobes.tech AI

Да, можно создать собственную реализацию типа Optional для обработки значений, которые могут отсутствовать. В Swift Optional — это обертка, которая либо содержит значение, либо nil.

Пример простой реализации собственного Optional:

enum MyOptional<T> {
    case some(T)
    case none

    func unwrap() -> T? {
        switch self {
        case .some(let value):
            return value
        case .none:
            return nil
        }
    }
}

// Использование
let value: MyOptional<Int> = .some(10)
if let unwrapped = value.unwrap() {
    print("Значение: \(unwrapped)")
} else {
    print("Значение отсутствует")
}

Таким образом, можно реализовать собственный тип, который будет работать по принципу Optional, обеспечивая безопасную работу с отсутствующими значениями.