Les conditions en Rust : if, else if, else
Comme dans tous les langages Rust possède les conditions if
, else if
et else
.
- On devra utiliser les accolades pour délimiter le bloc (comme pour les fonctions)
- Les parenthèses autour de la condition ne sont pas obligatoire
- Chaque condition doit retourner un booléen
Les conditions doivent toujours retourner un booléen
C’est une petite subtilité en Rust, chaque condition doit toujours retourner un booléen.
Si on met un autre type dans notre condition, Rust va retourner une erreur.
Exemple d’un code qui crash parce que la condition ne retourne pas un booléen :
Exemple d’un code qui fonctionne parce que la condition retourne un booléen :
Rust s’arrête à la première condition vraie
Ce principe est très important, notamment si vous cherchez à optimiser les performances d’un programme.
Lorsque Rust parcours toutes les branches if
, else if
et else
, il va s’arrêter dès qu’il rencontre une condition
vraie.
À ce moment-là il saute toutes les branches restantes sans même tester les autres conditions !
Voilà pourquoi, il vaut mieux mettre la condition qui a le plus de chance de se produire en premier (dans le cas où vous savez laquelle c’est). Ça évite à Rust de tester des conditions inutiles.
Utiliser if dans un let
La condition if
peut aussi être utilisée dans un let
pour donner une valeur à une variable en fonction d’une
condition.