Instructions conditionnelles en Rust

RustRustBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous apprenons à utiliser les instructions if-else en Rust. Comme dans les autres langages de programmation, les instructions if-else en Rust n'exigent pas de parenthèses autour de la condition et chaque condition est suivie d'un bloc de code. Ces conditionnels sont des expressions, donc toutes les branches doivent renvoyer le même type. Dans l'exemple de code fourni, nous vérifions d'abord si la variable n est inférieure à 0, et si c'est le cas, on imprime que n est négative. Si n n'est pas inférieure à 0, nous vérifions ensuite s'il est supérieur à 0 et on imprime que n est positive. Enfin, si aucune des conditions précédentes n'est remplie, on imprime que n est égale à zéro. Un autre exemple montre comment l'instruction if-else peut être utilisée comme une expression pour assigner une nouvelle valeur à la variable big_n. Si n est compris entre -10 et 10, on imprime que n est un nombre petit et on affecte 10 * n à big_n. Sinon, on imprime que n est un nombre grand et on affecte n / 2 à big_n. La valeur finale de n et big_n est imprimée à la fin.

Note : Si le laboratoire ne spécifie pas de nom de fichier, vous pouvez utiliser n'importe quel nom de fichier que vous voulez. Par exemple, vous pouvez utiliser main.rs, le compiler et l'exécuter avec rustc main.rs &&./main.

if/else

La structure conditionnelle avec if-else est similaire à celle des autres langages. Contrairement à beaucoup d'entre eux, la condition booléenne n'a pas besoin d'être entourée de parenthèses, et chaque condition est suivie d'un bloc. Les conditionnels if-else sont des expressions, et toutes les branches doivent renvoyer le même type.

fn main() {
    let n = 5;

    if n < 0 {
        print!("{} est négatif", n);
    } else if n > 0 {
        print!("{} est positif", n);
    } else {
        print!("{} est égal à zéro", n);
    }

    let big_n =
        if n < 10 && n > -10 {
            println!(", et est un nombre petit, multipliez-le par dix");

            // Cette expression renvoie un `i32`.
            10 * n
        } else {
            println!(", et est un grand nombre, divisez-le par deux");

            // Cette expression doit également renvoyer un `i32`.
            n / 2
            // TODO ^ Essayez de supprimer cette expression en y ajoutant un point-virgule.
        };
    //   ^ N'oubliez pas d'y mettre un point-virgule ici! Toutes les liaisons `let` en ont besoin.

    println!("{} -> {}", n, big_n);
}

Résumé

Félicitations ! Vous avez terminé le laboratoire If/Else. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.