Junior — Middle
Lze vytvořit vlastní implementaci typu Optional pro zpracování možných chybějících hodnot?
sobes.tech AI
Odpověď od AI
Ano, je možné vytvořit vlastní implementaci typu Optional pro zpracování hodnot, které mohou chybět. V Swift je Optional obal, který buď obsahuje hodnotu, nebo nil.
Příklad jednoduché implementace 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žití
let value: MyOptional<Int> = .some(10)
if let unwrapped = value.unwrap() {
print("Hodnota: \(unwrapped)")
} else {
print("Hodnota chybí")
}
Tímto způsobem lze implementovat vlastní typ, který bude fungovat podle principu Optional, a zajistit bezpečné zacházení s chybějícími hodnotami.