Junior — Middle
Je povinné pokryť všetky možné hodnoty enum v príkaze switch v Swift?
sobes.tech AI
Odpoveď od AI
V Swift, ak používate operátor switch pre hodnotu typu enum bez asociovaných hodnôt, kompilátor požaduje pokrytie všetkých možných prípadov enumu, aby bol switch úplný (exhaustive). To znamená, že musíte buď vyjadriť všetky varianty enumu, alebo pridať vetvu default.
Ak nebudete pokrývať všetky varianty a nepridáte default, kód sa nespustí.
Príklad:
enum Direction {
case north, south, east, west
}
func move(_ dir: Direction) {
switch dir {
case .north:
print("Ideme na sever")
case .south:
print("Ideme na juh")
case .east:
print("Ideme na východ")
case .west:
print("Ideme na západ")
}
}
Ak nechcete vypisovať všetky varianty, môžete pridať default:
switch dir {
case .north:
print("Ideme na sever")
default:
print("Iný smer")
}