Junior — Middle
Je možné vytvoriť vlastnú implementáciu typu Optional na spracovanie potenciálne chýbajúcich hodnôt?
sobes.tech AI
Odpoveď od AI
Áno, je možné vytvoriť vlastnú implementáciu typu Optional na spracovanie hodnôt, ktoré môžu chýbať. V Swift je Optional obal, ktorý buď obsahuje hodnotu, alebo nil.
Príklad jednoduchej implementácie vlastného Optional:
enum MyOptional<T> {
case some(T)
case none
func unwrap() -> T? {
switch self {
case .some(let value):
return value
case .none:
return nil
}
}
}
// Použitie
let value: MyOptional<Int> = .some(10)
if let unwrapped = value.unwrap() {
print("Hodnota: \(unwrapped)")
} else {
print("Hodnota chýba")
}
Týmto spôsobom môžete implementovať vlastný typ, ktorý bude fungovať podľa princípu Optional, zabezpečujúc bezpečné zaobchádzanie s chýbajúcimi hodnotami.