Junior — Middle
Swift'te switch ifadesinde enum'un tüm olası değerlerini kapsamak zorunlu mu?
sobes.tech yapay zeka
AI'dan gelen yanıt
Swift'te, eğer associated values olmadan enum türü bir değer için switch operatörü kullanıyorsanız, derleyici tüm enum olasılıklarını kapsamanızı ister ki switch exhaustif (tamamlayıcı) olsun. Bu, ya enum'un tüm seçeneklerini listelemeniz ya da bir default durumu eklemeniz gerektiği anlamına gelir.
Tüm seçenekleri kapsamazsanız ve default eklemezseniz, kod derlenmez.
Örnek:
enum Direction {
case north, south, east, west
}
func move(_ dir: Direction) {
switch dir {
case .north:
print("Kuzeye gidiyoruz")
case .south:
print("Güneye gidiyoruz")
case .east:
print("Doğuya gidiyoruz")
case .west:
print("Batıya gidiyoruz")
}
}
Tüm seçenekleri listelemek istemiyorsanız, default ekleyebilirsiniz:
switch dir {
case .north:
print("Kuzeye gidiyoruz")
default:
print("Başka bir yön")
}