Junior — Middle
Задължително ли е да покривате всички възможни стойности на enum в оператор switch в Swift?
sobes.tech AI
Отговор от AI
В Swift, ако използвате оператор switch за стойност от тип enum без асоциирани стойности, компилаторът изисква да покриете всички възможни случаи на enum, за да бъде switch-ът изчерпателен. Това означава, че трябва или да изброите всички варианти на enum, или да добавите клон default.
Ако не покриете всички варианти и не добавите default, кодът няма да се компилира.
Пример:
enum Direction {
case north, south, east, west
}
func move(_ dir: Direction) {
switch dir {
case .north:
print("Отиваме на север")
case .south:
print("Отиваме на юг")
case .east:
print("Отиваме на изток")
case .west:
print("Отиваме на запад")
}
}
Ако не искате да изброявате всички варианти, можете да добавите default:
switch dir {
case .north:
print("Отиваме на север")
default:
print("Друга посока")
}