Rost -Schalterkoffer

Rost -Schalterkoffer
Mit der Switch -Anweisung können Entwickler verschachtelte Zustandsprüfungen durchführen. Es wirkt wie ein If-Else-Baum, bei dem eine übereinstimmende Erkrankung an eine bestimmte Aktion gebunden ist. Stellen Sie sich es wie ein Menü vor, in dem Sie nur ein einzelnes Element aus der Liste der Auswahlmöglichkeiten auswählen können.

Obwohl es trivial erscheinen mag, ist ein Switch-Fall ein grundlegendes Entscheidungskonstrukt in der Programmierung. In diesem Tutorial lernen wir, wie man die Switch -Anweisung in Rost verwendet.

Rost -Match -Schlüsselwort

In Rost haben wir kein Keyword von Switch. Stattdessen bietet Rost uns die Schlüsselwort -Übereinstimmung, mit der wir übereinstimmende Fälle und die entsprechenden Aktionen angeben können.

Wir beginnen mit dem Keyword -Match, gefolgt von der Variablen, die wir übereinstimmen möchten. Dann öffnen wir den Match -Körper mit einem Paar lockiger Zahnspangen. Die Übereinstimmungskörper hält alle Testfälle, mit denen wir vergleichen möchten.

Die Syntax wird wie unten gezeigt ausgedrückt:

Variable = Wert lassen
Übereinstimmung Variable
Wert => // tun
Wert 1 => // tun
Value2 => // tun
Wert 3 => // tun
- => // tun

Lassen Sie uns untersuchen, wie das Match -Konstrukt in einem Programm angewendet wird.

Einen Wert übereinstimmen

Rost verwendet Musterabgleich, um zu prüfen, ob der angegebene Wert dem Wert der Variablen entspricht. Nehmen Sie das Beispielprogramm unten:

fn main ()
sei num = 10;
passen num
10 => println!("Zehn"),
_ => println!("Andere")

Wenn Sie aus anderen Programmiersprachen wie der C -Programmiersprache von C stammen, können Sie feststellen, dass Rost keinen Standardfall hat. Dies liegt daran, dass nur der Matching -Fall ausgeführt wird. Alle anderen nicht übereinstimmenden Fälle werden mit dem Fall _ behandelt.

Ausführen des vorherigen Code sollte drucken:

Übereinstimmen mehrere Fälle

Um mehrere Fälle zu entsprechen, können Sie sie nacheinander hinzufügen und sie durch ein Komma wie gezeigt trennen:

fn main ()
sei num = 10;
passen num
10 => println!("Zehn"),
11 => println!("Elf"),
12 => println!("Zwölf"),
13 => println!("Dreizehn"),
14 => println!("Vierzehn"),
_ => println!("Andere")

Das vorherige Beispiel sollte mit dem Wert der Variablen mit jedem der angegebenen Fall übereinstimmen. Hinweis: Ist die vorherige Methode wiederholt? Wir können dies lösen, indem wir den Rohroperator verwenden, um mehrere Werte in einem einzelnen Fall abzustimmen.

Nehmen Sie den folgenden Beispielcode:

fn main ()
sei num = 10;
passen num
13 | 14 | 15 | 16 | 17 | 18 | 19 => println!("Teenager!")),
_ => println!("Andere")

Im vorherigen Beispiel geben wir einen Fall mit mehreren Werten mit dem Rohroperator an. Der letzte Code sollte wie unten gezeigt zurückgeben:

Reichweite

Wir können auch einen Wertebereich übereinstimmen. Nehmen Sie das folgende Beispiel:

fn main ()
sei num = 10;
passen num
0… = 17 => println!("Unter Alter"),
18… = 25 => println!("Tickets sind 10 $"),
26… = 35 => println!("Tickets sind 15 $"),
36… => println!("Über dem Alter"),
_ => println!("Ungültiger Alterswert")

Im vorherigen Beispiel verwenden wir den Bereichsbetreiber (inklusive), um den Fall innerhalb eines Wertebereichs zu entsprechen.

Der vorherige Code sollte eine Ausgabe wie unten gezeigt zurückgeben:

Match -Zeichenfolge

Das Übereinstimmungsschlüsselwort ist nicht für Ganzzahltypen reserviert. Sie können auch Stringwerte vergleichen. Im Folgenden finden Sie einen Beispielcode:

fn main ()
sei db = "mysql";
übereinstimmen db
"MySQL" => println!("Port 3306"),
"Postgresql" => println!("Port 5432"),
"MongoDB" => println!("Port 27017"),
_ => println!("Nicht unterstütztes DB")

Der vorherige Code sollte wie unten gezeigt zurückgeben:

Abschluss

In diesem Artikel wurde erläutert, wie Sie Switch -Anweisungen in Rost mit dem Keyword für Übereinstimmung erstellen und verwenden. Außerdem haben wir den Switch-Fall und seine Bedeutung als wesentliches Entscheidungskonstrukt erörtert. Wir hoffen, Sie haben diesen Artikel hilfreich gefunden. Weitere Tipps und Informationen finden Sie im anderen Linux -Hinweis -Artikel.