Sobes.tech
Junior — Middle

Kas on võimalik luua oma implementatsioon Optional-tüübile, et hallata võimalikke puuduvad väärtusi?

sobes.tech AI

Vastus AI-lt

Jah, on võimalik luua oma Optional tüüpi, et töödelda väärtusi, mis võivad olla puuduvad. Swiftis on Optional pakend, mis sisaldab väärtust või nil.

Näide lihtsast oma Optional-i rakendusest:

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

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

// Kasutamine
let value: MyOptional<Int> = .some(10)
if let unwrapped = value.unwrap() {
    print("Väärtus: \(unwrapped)")
} else {
    print("Väärtus puudub")
}

Sel viisil saate luua oma tüübi, mis töötab Optional põhimõttel ning tagab turvalise puuduvate väärtuste haldamise.