Rustbryterveske

Rustbryterveske
Switch -setningen lar utviklere utføre nestede tilstandskontroller. Det fungerer som et if-ests-tre der en matchende tilstand er bundet til en spesifikk handling. Tenk på det som en meny der du bare kan velge et enkelt element fra listen over valg.

Selv om det kan virke trivielt, er en bryteresak en grunnleggende beslutningskonstruksjon i programmering. I denne opplæringen lærer vi hvordan du bruker bryterklæringen i rust.

Rust match nøkkelord

I rust har vi ikke et nøkkelord. I stedet gir Rust oss nøkkelordkampen som lar oss spesifisere matchende saker og de tilsvarende handlingene.

Vi starter med søkeordkampen, etterfulgt av variabelen vi ønsker å matche. Deretter åpner vi kampkroppen ved hjelp av et par krøllete seler. Kamporganet har alle testtilfellene vi ønsker å sammenligne.

Syntaksen uttrykkes som vist nedenfor:

La variabel = verdi
Match variabel
verdi => // gjør
verdi1 => // gjør
Value2 => // gjør
Value3 => // gjør
- => // gjør

La oss utforske hvordan vi bruker kampkonstruksjonen i et program.

Match enkelt verdi

Rust bruker mønstermatching for å sjekke om verdien som er spesifisert er lik verdien av variabelen. Ta eksempelprogrammet nedenfor:

fn main ()
La num = 10;
Match Num
10 => println!("Ti"),
_ => println!("Annen")

Hvis du kommer fra andre programmeringsspråk, for eksempel C -programmeringsspråket, kan du merke at Rust ikke har en standard sak. Dette er fordi bare den matchende saken blir utført. Alle andre ikke-matchende tilfeller håndteres ved hjelp av _-saken.

Kjører den forrige koden skal skrive ut:

Match flere tilfeller

For å matche flere tilfeller kan du legge dem til etter hverandre, og skille dem med et komma som vist:

fn main ()
La num = 10;
Match Num
10 => println!("Ti"),
11 => println!("Elleve"),
12 => println!("Tolv"),
13 => println!("Tretten"),
14 => println!("Fjorten"),
_ => println!("Annen")

Det forrige eksemplet skal samsvare med verdien av variabelen med hver av det spesifiserte saken. Merk: er den forrige metoden repeterende? Vi kan løse dette ved å bruke røroperatøren til å matche flere verdier i et enkelt tilfelle.

Ta følgende eksempelkode:

fn main ()
La num = 10;
Match Num
13 | 14 | 15 | 16 | 17 | 18 | 19 => Println!("Tenåringer!"),
_ => println!("Annen")

I forrige eksempel spesifiserer vi et tilfelle med flere verdier ved hjelp av røroperatøren. Den siste koden skal returnere som vist nedenfor:

Rekkevidde kamp

Vi kan også matche en rekke verdier. Ta følgende eksempel:

fn main ()
La num = 10;
Match Num
0… = 17 => println!("Under alder"),
18… = 25 => println!("Billetter er 10 $"),
26… = 35 => println!("Billetter er 15 $"),
36… => println!("Over alder"),
_ => println!("Ugyldig aldersverdi")

I forrige eksempel bruker vi Range Operator (Inclusive) for å matche saken innen en rekke verdier.

Den forrige koden skal returnere en utdata som vist nedenfor:

Match String

Match -nøkkelordet er ikke forbeholdt heltalltyper. Du kan sammenligne strengverdier også. Et eksempelkode er gitt nedenfor:

fn main ()
La DB = "MySQL";
Match DB
"Mysql" => println!("Port 3306"),
"PostgreSql" => println!("Port 5432"),
"Mongodb" => println!("Port 27017"),
_ => println!("Usupport DB")

Den forrige koden skal returnere som vist nedenfor:

Konklusjon

Denne artikkelen diskuterte hvordan du oppretter og bruker Switch -setninger i rust ved hjelp av kampordet. Vi diskuterte også Switch-saken og dens betydning som en essensiell beslutningskonstruksjon. Vi håper du fant denne artikkelen nyttig. Sjekk den andre Linux -hint -artikkelen for flere tips og informasjon.