Junior — Middle
Peut-on créer une implémentation personnalisée du type Optional pour gérer les valeurs éventuellement absentes?
sobes.tech IA
Réponse de l'IA
Oui, il est possible de créer une implémentation personnalisée du type Optional pour gérer les valeurs qui peuvent être absentes. En Swift, Optional est un wrapper qui contient une valeur ou nil.
Exemple d'une implémentation simple de Optional personnalisé :
enum MyOptional<T> {
case some(T)
case none
func unwrap() -> T? {
switch self {
case .some(let value):
return value
case .none:
return nil
}
}
}
// Utilisation
let value: MyOptional<Int> = .some(10)
if let unwrapped = value.unwrap() {
print("Valeur : \(unwrapped)")
} else {
print("Valeur absente")
}
Ainsi, il est possible d'implémenter un type personnalisé qui fonctionne selon le principe de Optional, assurant une gestion sûre des valeurs absentes.