Junior — Middle
É obrigatório cobrir todos os valores possíveis de enum na instrução switch em Swift?
sobes.tech IA
Resposta da IA
Em Swift, se estiver a usar o operador switch para um valor do tipo enum sem valores associados, o compilador exige cobrir todos os casos possíveis do enum para que o switch seja exaustivo. Isto significa que deve enumerar todas as opções do enum ou adicionar um ramo default.
Se não cobrir todas as opções e não adicionar um default, o código não será compilado.
Exemplo:
enum Direction {
case north, south, east, west
}
func move(_ dir: Direction) {
switch dir {
case .north:
print("Vamos para o norte")
case .south:
print("Vamos para o sul")
case .east:
print("Vamos para o leste")
case .west:
print("Vamos para o oeste")
}
}
Se não quiser enumerar todas as opções, pode adicionar um default:
switch dir {
case .north:
print("Vamos para o norte")
default:
print("Outra direção")
}