Sobes.tech
Junior — Middle

Da li je moguće kreirati sopstvenu implementaciju tipa Optional za obradu mogućih nedostajućih vrednosti?

sobes.tech АИ

Одговор од АИ

Да, можно создать собственную реализацию типа 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, обеспечивая безопасную работу с отсутствующими значениями.