Junior — Middle
Vai ir obligāti aptvert visas iespējamās enum vērtības Swift switch izteiksmē?
sobes.tech AI
Atbilde no AI
Swift valodā, ja jūs izmantojat switch operatoru vērtībai no enum tipa bez saistītām vērtībām, kompilators pieprasa aptvert visas iespējamās enum gadījumus, lai switch būtu izsmeļošs (exhaustive). Tas nozīmē, ka jums jāuzskaita visi enum varianti vai jāpiekrīt default zarei.
Ja jūs neaptverat visus variantus un neievietojat default, kods nesanāks kompilēt.
Piemērs:
enum Direction {
case north, south, east, west
}
func move(_ dir: Direction) {
switch dir {
case .north:
print("Ej uz ziemeļiem")
case .south:
print("Ej uz dienvidiem")
case .east:
print("Ej uz austrumiem")
case .west:
print("Ej uz rietumiem")
}
}
Ja nevēlaties uzskaitīt visus variantus, varat pievienot default:
switch dir {
case .north:
print("Ej uz ziemeļiem")
default:
print("Cita virziena")
}