Junior — Middle
Est-il obligatoire de couvrir toutes les valeurs possibles d'un enum dans une instruction switch en Swift?
sobes.tech IA
Réponse de l'IA
En Swift, si vous utilisez l'opérateur switch pour une valeur de type enum sans valeurs associées, le compilateur exige de couvrir tous les cas possibles de l'enum pour que le switch soit exhaustif. Cela signifie que vous devez soit énumérer toutes les options de l'enum, soit ajouter une branche default.
Si vous ne couvrez pas toutes les options et n'ajoutez pas de default, le code ne sera pas compilé.
Exemple :
enum Direction {
case north, south, east, west
}
func move(_ dir: Direction) {
switch dir {
case .north:
print("Allons au nord")
case .south:
print("Allons au sud")
case .east:
print("Allons à l'est")
case .west:
print("Allons à l'ouest")
}
}
Si vous ne souhaitez pas énumérer toutes les options, vous pouvez ajouter un default :
switch dir {
case .north:
print("Allons au nord")
default:
print("Autre direction")
}