Cassa di interruttore ruggine

Cassa di interruttore ruggine
L'istruzione Switch consente agli sviluppatori di eseguire controlli delle condizioni nidificate. Si comporta come un albero IF-ELSE in cui una condizione corrispondente è legata a un'azione specifica. Pensalo come un menu in cui puoi selezionare solo un singolo elemento dall'elenco delle scelte.

Sebbene possa sembrare banale, un caso di switch è un costrutto decisionale fondamentale nella programmazione. In questo tutorial, impareremo come utilizzare l'istruzione Switch in Rust.

Parola chiave Rust Match

In Rust, non abbiamo una parola chiave Switch. Invece, Rust ci fornisce la corrispondenza delle parole chiave che ci consente di specificare i casi di corrispondenza e le azioni corrispondenti.

Iniziamo con la partita di parole chiave, seguita dalla variabile che desideriamo abbinare. Quindi, apriamo il corpo di abbinamento usando una coppia di bretelle. Il corpo della partita contiene tutti i casi di test rispetto ai quali desideriamo confrontare.

La sintassi è espressa come mostrato di seguito:

Lascia che variabile = valori
Match Variable
value => // do
value1 => // do
value2 => // do
value3 => // do
- => // do

Esploriamo come applicare il costrutto della partita in un programma.

Abbinare il valore singolo

Rust usa la corrispondenza del pattern per verificare se il valore specificato è uguale al valore della variabile. Prendi il programma di esempio di seguito:

fn main ()
Lascia che num = 10;
abbinare num
10 => println!("Dieci"),
_ => println!("Altro")

Se provi da altri linguaggi di programmazione, come il linguaggio di programmazione C, potresti notare che Rust non ha un caso predefinito. Questo perché viene eseguito solo il caso corrispondente. Tutti gli altri casi non corrispondenti vengono gestiti utilizzando il caso _.

L'esecuzione del codice precedente dovrebbe stampare:

Abbinare più casi

Per abbinare più casi, puoi aggiungerli uno dopo l'altro, separandoli con una virgola come mostrato:

fn main ()
Lascia che num = 10;
abbinare num
10 => println!("Dieci"),
11 => println!("Undici"),
12 => println!("Dodici"),
13 => println!("Tredici"),
14 => println!("Quattordici"),
_ => println!("Altro")

L'esempio precedente dovrebbe corrispondere al valore della variabile con ciascuno del caso specificato. Nota: il metodo precedente è ripetitivo? Possiamo risolvere questo problema utilizzando l'operatore del tubo per abbinare più valori in un singolo caso.

Prendi il seguente codice di esempio:

fn main ()
Lascia che num = 10;
abbinare num
13 | 14 | 15 | 16 | 17 | 18 | 19 => println!("Adolescenti!"),
_ => println!("Altro")

Nell'esempio precedente, specifichiamo un caso con più valori utilizzando l'operatore del tubo. L'ultimo codice dovrebbe restituire come mostrato di seguito:

Match Range

Possiamo anche abbinare una gamma di valori. Prendi il seguente esempio:

fn main ()
Lascia che num = 10;
abbinare num
0… = 17 => println!("Under Age"),
18… = 25 => println!("I biglietti sono 10 $"),
26… = 35 => println!("I biglietti sono 15 $"),
36… => println!("Sopra l'età"),
_ => println!("Valore di età non valido")

Nell'esempio precedente, utilizziamo l'operatore di intervallo (inclusivo) per abbinare il caso all'interno di un intervallo di valori.

Il codice precedente dovrebbe restituire un output come mostrato di seguito:

Stringa di abbinamento

La parola chiave Match non è riservata per i tipi di interi. Puoi anche confrontare i valori delle stringhe. Di seguito è riportato un codice di esempio:

fn main ()
lascia db = "mysql";
Match db
"Mysql" => println!("Porta 3306"),
"Postgresql" => println!("Porta 5432"),
"MongoDB" => println!("Porta 27017"),
_ => println!("DB non supportato")

Il codice precedente dovrebbe restituire come mostrato di seguito:

Conclusione

Questo articolo ha discusso di come creare e utilizzare le istruzioni di switch in ruggine utilizzando la parola chiave Match. Inoltre, abbiamo discusso del caso Switch e della sua importanza come costrutto decisionale essenziale. Speriamo che tu abbia trovato questo articolo utile. Controlla l'altro articolo di Linux suggerimenti per ulteriori suggerimenti e informazioni.