Junior — Middle
Kötelező minden lehetséges enum értéket lefedni a switch utasításban Swiftben?
sobes.tech MI
Válasz az MI-től
Swift-ben, ha az enum típusú értékhez switch operátort használsz értékhez társított értékek nélkül, a fordító megköveteli, hogy minden lehetséges enum esetet lefedj, hogy a switch kimerítő legyen. Ez azt jelenti, hogy felsorolod az összes enum variánst, vagy hozzáadsz egy default ágat.
Ha nem feded le az összes variánst, és nem adsz hozzá default-ot, a kód nem fog fordulni.
Példa:
enum Direction {
case north, south, east, west
}
func move(_ dir: Direction) {
switch dir {
case .north:
print("Észtünk északra")
case .south:
print("Észtünk délre")
case .east:
print("Észtünk keletre")
case .west:
print("Észtünk nyugatra")
}
}
Ha nem szeretnéd felsorolni az összes variánst, hozzáadhatsz egy default-ot:
switch dir {
case .north:
print("Észtünk északra")
default:
print("Más irány")
}