Étui de l'interrupteur de rouille

Étui de l'interrupteur de rouille
L'instruction Switch permet aux développeurs d'effectuer des contrôles de condition imbriqués. Il agit comme un arbre IF-Else où une condition correspondante est liée à une action spécifique. Pensez-y comme un menu où vous ne pouvez sélectionner qu'un seul élément dans la liste des choix.

Bien que cela puisse sembler trivial, un cas de commutateur est une construction de prise de décision fondamentale dans la programmation. Dans ce tutoriel, nous apprendrons à utiliser l'instruction Switch dans Rust.

Mot-clé Match Rust

Dans Rust, nous n'avons pas de mot-clé Switch. Au lieu de cela, Rust nous fournit la correspondance de mots clés qui nous permet de spécifier les cas de correspondance et les actions correspondantes.

Nous commençons par la correspondance des mots clés, suivie de la variable que nous souhaitons correspondre. Ensuite, nous ouvrons le corps de correspondance à l'aide d'une paire de bretelles bouclées. Le corps de match détient tous les cas de test contre lesquels nous souhaitons comparer.

La syntaxe est exprimée comme indiqué ci-dessous:

Soit variable = valeur
correspondre à la variable
valeur => // faire
valeur1 => // faire
valeur2 => // faire
valeur3 => // faire
- => // faire

Explorons comment appliquer la construction de match dans un programme.

Correspondre à une seule valeur

Rust utilise la correspondance de motifs pour vérifier si la valeur spécifiée est égale à la valeur de la variable. Prenez l'exemple de programme ci-dessous:

fn main ()
Soit num = 10;
faire correspondre num
10 => println!("Dix"),
_ => println!("Autre")

Si vous venez d'autres langages de programmation, comme le langage de programmation C, vous remarquerez peut-être que Rust n'a pas de cas par défaut. C'est parce que seul le cas de correspondance est exécuté. Tous les autres cas non correspondants sont gérés en utilisant le cas _.

L'exécution du code précédent doit imprimer:

Faire correspondre plusieurs cas

Pour faire correspondre plusieurs cas, vous pouvez les ajouter l'un après l'autre, en les séparant par une virgule comme indiqué:

fn main ()
Soit num = 10;
faire correspondre num
10 => println!("Dix"),
11 => println!("Onze"),
12 => println!("Douze"),
13 => println!("Treize"),
14 => println!("Quatorze"),
_ => println!("Autre")

L'exemple précédent doit correspondre à la valeur de la variable avec chacun des cas spécifiés. Remarque: la méthode précédente est-elle répétitive? Nous pouvons résoudre ce problème en utilisant l'opérateur de tuyau pour faire correspondre plusieurs valeurs dans un seul cas.

Prenez l'exemple de code suivant:

fn main ()
Soit num = 10;
faire correspondre num
13 | 14 | 15 | 16 | 17 | 18 | 19 19 => println!("Les adolescents!"),
_ => println!("Autre")

Dans l'exemple précédent, nous spécifions un cas avec plusieurs valeurs à l'aide de l'opérateur de tuyau. Le dernier code doit revenir comme indiqué ci-dessous:

Match de gamme

Nous pouvons également faire correspondre une gamme de valeurs. Prenez l'exemple suivant:

fn main ()
Soit num = 10;
faire correspondre num
0… = 17 => println!("Sous l'âge"),
18… = 25 => println!("Les billets sont 10 $"),
26… = 35 => println!("Les billets sont 15 $"),
36… => println!("Au-dessus de l'âge"),
_ => println!("Valeur d'âge non valide")

Dans l'exemple précédent, nous utilisons l'opérateur de plage (inclusif) pour correspondre au cas dans une plage de valeurs.

Le code précédent doit renvoyer une sortie comme indiqué ci-dessous:

Match String

Le mot clé Match n'est pas réservé aux types entiers. Vous pouvez également comparer les valeurs de chaîne. Un exemple de code est fourni ci-dessous:

fn main ()
Laissez db = "mysql";
faire correspondre db
"Mysql" => println!("Port 3306"),
"PostgreSQL" => println!("Port 5432"),
"MongoDB" => println!("Port 27017"),
_ => println!("DB non pris en charge")

Le code précédent doit revenir comme indiqué ci-dessous:

Conclusion

Cet article a discuté de la façon de créer et d'utiliser des instructions de commutation dans la rouille à l'aide du mot clé Match. Nous avons également discuté du cas de commutation et de son importance en tant que construction de prise de décision essentielle. Nous espérons que vous avez trouvé cet article utile. Consultez l'article de l'autre indice de Linux pour plus de conseils et d'informations.