Junior — Middle
Kas on kohustuslik katta kõik võimalikud enum väärtused Swiftis switch käsu puhul?
sobes.tech AI
Vastus AI-lt
Swiftis, kui kasutate switch operaatorit väärtuse jaoks enum-tüüpi ilma seotud väärtusteta, nõuab kompilaator, et katate kõik võimalikud enum juhtumid, et switch oleks täielik (exhaustive). See tähendab, et peate kas loetlema kõik enum variandid või lisama default-haara.
Kui te ei kata kõiki variante ja ei lisa defaulti, ei kompileeri kood.
Näide:
enum Direction {
case north, south, east, west
}
func move(_ dir: Direction) {
switch dir {
case .north:
print("Läheme põhja")
case .south:
print("Läheme lõuna")
case .east:
print("Läheme ida")
case .west:
print("Läheme läände")
}
}
Kui te ei soovi kõiki variante loetleda, võite lisada default:
switch dir {
case .north:
print("Läheme põhja")
default:
print("Muu suund")
}