Section courante

A propos

Section administrative du site

if

Si
Rust

Syntaxe

if condition {
   // bloc exécuté si la condition est vraie
} else {
   // bloc exécuté sinon (facultatif)
}

Paramètres

Nom Description
condition Ce paramètre permet d'évaluer une expression booléenne déterminer si le bloc associé est exécuté.
bloc Ce paramètre permet de regrouper les instructions étant exécutées si la condition est vraie.
else Ce paramètre permet de définir un bloc alternatif exécuté si la condition if est fausse (optionnel).

Description

Ce mot réservé permet d'indiquer une branche basée sur le résultat d'une expression conditionnelle.

Remarques

Permet d'évaluez un bloc si une condition est vérifiée.

if est une construction familière à la plupart des programmeurs et constitue le principal moyen d'intégrer la logique dans votre code. Cependant, contrairement à la plupart des langages, les blocs if peuvent également servir d'expressions.

  1. if 1 == 2 {
  2.     println!("Oups, les mathématiques sont cassées");
  3. } else {
  4.     println!("tout va bien !");
  5. }
  6.  
  7. let greeting = if rude {
  8.     "super nerd."
  9. } else {
  10.     "bonjour, mon ami !"
  11. };
  12.  
  13. if let Ok(x) = "123".parse::<i32>() {
  14.     println!("{} doublez cela et vous obtenez {}!", greeting, x * 2);
  15. }

Ci-dessus, les trois formes typiques d'un bloc if. Le premier est celui que l'on retrouve habituellement dans de nombreux langages, avec un bloc else optionnel. Le deuxième utilise if comme expression, ce qui n'est possible que si toutes les branches renvoient le même type. Une expression if peut être utilisée partout. Le troisième type de bloc if est un bloc if let, qui se comporte de manière similaire à une expression match :

  1. if let Some(x) = Some(123) {
  2.     // code
  3. } else {
  4.     // autre chose
  5. }
  6.  
  7. match Some(123) {
  8.     Some(x) => {
  9.         // code
  10.     },
  11.     _ => {
  12.         // autre chose
  13.     },
  14. }

Chaque type d'expression if peut être mélangé et associé selon les besoins.

  1. if true == false {
  2.     println!("oh no");
  3. } else if "something" == "other thing" {
  4.     println!("Oh mon Dieu");
  5. } else if let Some(200) = "blarg".parse::<i32>().ok() {
  6.     println!("Oh oh");
  7. } else {
  8.     println!("ouf, rien n'est cassé");
  9. }

Le mot-clef if est utilisé à un autre endroit dans Rust, à savoir dans le cadre de la correspondance de modèles elle-même, permettant l'utilisation de modèles tels que Some(x) if x > 200.



Dernière mise à jour : Vendredi, le 1er Août 2025