Junior — Middle
É possível criar uma implementação própria do tipo Optional para lidar com valores potencialmente ausentes?
sobes.tech IA
Resposta da IA
Sim, é possível criar uma implementação própria do tipo Optional para lidar com valores que podem estar ausentes. Em Swift, Optional é um encapsulamento que contém um valor ou nil.
Exemplo de uma implementação simples de um Optional próprio:
enum MyOptional<T> {
case some(T)
case none
func unwrap() -> T? {
switch self {
case .some(let value):
return value
case .none:
return nil
}
}
}
// Uso
let value: MyOptional<Int> = .some(10)
if let unwrapped = value.unwrap() {
print("Valor: \(unwrapped)")
} else {
print("Valor ausente")
}
Dessa forma, é possível implementar um tipo próprio que funciona de acordo com o princípio de Optional, garantindo uma manipulação segura de valores ausentes.