Rustskiver

Rustskiver
En skive er en datatype som lar deg referere til en tilstøtende sekvens av elementer i rustkolleksjon. Siden en skive er en referanse, har den ikke en eier. Den refererer til en peker til et minne "skive".

I denne opplæringen lærer vi hvordan vi kan få tilgang til skiver av samling som vektorer, matriser, strenger osv.

Rust skaper skive

Som nevnt i seksjonen over, er en skive en lånt type som holder pekeren til adressen til dataene.

Derfor lager vi en skive ved å ta en del av eksisterende databeholder. Vi kan ikke lage en skive som om vi ville en normal variabel.

For å lage en skive, spesifiserer vi start- og sluttindeksen i et par firkantede parenteser. Start- og sluttindeksen skilles ved hjelp av dobbel prikknotasjon.

Vi kan uttrykke denne syntaksen som vist:

la noen_string = "verdi";
& noen_string [start_index ... end_index];

Merk at vi kan skive enhver gyldig samling i rust. Ta eksemplet nedenfor som lager en skive fra en strengtype.

fn main ()
La URL = "Linuxhint.com ";
La skive = & url [0… 9];
Println!("", skive);

Koden over oppretter en skive av en streng som starter fra indeks 0 til indeks 9. Merk at den siste er eksklusiv. Dette betyr at skiven vil inneholde verdien fra start til sluttindeks - 1.

Legg merke til & operatøren? Dette er fordi skiven er en referanse til de faktiske dataene i den spesifiserte samlingen.

Koden over skal returnere:

Rust lar oss også hoppe over start- og sluttindeksen. For eksempel, hvis vi starter skiven fra indeks 0, kan vi utelate 0 og bare angi sluttindeksen. Et eksempel er som vist:

fn main ()
La URL = "Linuxhint.com ";
La skive = & url [… 9];
Println!("", skive);

Merk at eksemplet ovenfor angir indeksområdet som ... 9. Dette betyr start fra indeks 0 til indeks 9.

Vi kan gjøre det samme for å avslutte indeksen. Tenk på eksempelkoden vist nedenfor:

fn main ()
La URL = "Linuxhint.com ";
La skive = & url [9…];
Println!("", skive);

Dette skulle komme tilbake:

Bortsett fra en streng, kan du ha en skive av en matrise. Et eksempel er som vist nedenfor:

fn main ()
La arr = [100.200.300.400.500];
La skive = & arr [1… 3];
Println!(":?", skive);

Dette skal returnere en matrise -skive med verdiene i det spesifiserte området.

[200, 300]

Vi kan skive en vektor som vist:

fn main ()
La VEC = VEC!["a", "b", "c", "d", "e"];
La skive = & vec [1 ... = 4];
Println!(":?", skive);

Mutabel skive

Vi kan også lage mutable skiver ved å stille inn mut -nøkkelordet i en skive. Et eksempel er som vist:

fn main ()
La arr = [100.200.300.400.500];
La Mut skive = & arr [1… 3];
Println!(":?", skive);

Du kan mutere den returnerte matrisen slik du passer passer.

Konklusjon

Denne guiden dekker grunnleggende om å jobbe med skiver i rustspråket. Du kan sjekke dokumentasjonen for å utforske videre.

Takk for at du leste!