Denne artikkelen vil utforske hvordan du jobber med strenger i rustprogrammeringsspråket og bestemme hva som gjør strenger i rust annerledes.
Ruststrenger
Det er to typer strenger i rust:
Ruststreng bokstavelig
Ruststrengen bokstavelig er kjent som en strengskive som alltid refererer til en sekvens av UTF-8-tegn. Vi bruker det hovedsakelig når vi kjenner verdien av strengen på kompileringstidspunktet. Det kan brukes som en visning i et strengobjekt. Strenglitteraler er statiske som standard, noe som betyr at de ikke muterer.
Vi kan erklære en streng bokstavelig i rust ved å lage en variabel med eller uten type inferens. Følgende eksempel viser to gyldige strenglitteraler i rust.
La str = "Hello World";Begge er like, men den ene gir typen mens den andre ikke gjør det.
Ruststrengobjekt
Et strengobjekt refererer til en heapallokert og dynamisk vektor av byte. Som strenglitteraler trenger ikke streng som er objektivert å være null-terminert. Strengobjektet opprettes vanligvis ved å konvertere en strengskive til strengobjekter ved hjelp av TO_String -metoden.
For å lage et tomt og voksende strengobjekt, kan vi bruke den nye metoden som vist:
La Mut str = String :: new ();Når du har en tom streng, kan du legge til en verdi til den ved hjelp av Push_str -metoden.
str.push_str ("linuxhint");For å ha tildelt en streng, kan vi gjøre:
la navn = streng :: fra ("Winnie");For å konvertere en streng bokstavelig til et strengobjekt:
La str = "Linuxhint".to_string ();Strengindeksering
Strenger i rust støtter ikke direkte indeksering. Et eksempel er som vist:
la streng = "linuxhint";Den beste måten å overvinne dette på er å behandle strengen som en sekvens av individuelle byte. Vi kan da iterere over skivene som vist:
la streng = "linuxhint";Koden over skal returnere en individuell byterepresentasjon av strengverdiene.
Strengskiver
Du kan få en skive av en streng ved å bruke skiveren bokstavelig som vist:
fn main ()Ovennevnte skal returnere strengen som er tilgjengelig på de spesifiserte forskyvningene.
Linux
Strengkonturasjon
Du kan sammenkoble en streng bokstavelig og et strengobjekt ved hjelp av + -operatøren. Et eksempel er som vist:
fn main ()Husk at du ikke kan sammenkoble to & STR -verdier ved hjelp av + -operatøren.
Hvis du har to strengobjekter, kan du sammenkoble dem begge ved å bruke & operatøren som:
fn main ()Dette er på grunn av Deref -tvang som lar en streng tvinge A & STR.
Konklusjon
I denne guiden utforsket vi begrepet strenger i rust og diskuterte hvordan vi kunne bruke dem i programmene våre.
Takk for at du leste!