Rust statisk streng

Rust statisk streng
En statisk variabel refererer til en type variabel som har et fast minneplassering. De ligner konstante variabler, bortsett fra at de representerer et minneplass i programmet.

Statiske variabler i rust kan ha en destruktør, men at destruktør aldri kjøres ettersom de har en statisk levetid. Dette betyr at de aldri går tom for omfang i hele levetiden til programmet de er erklært.

Merk Hvis en variabel er erklært som statisk i en funksjon, påvirkes ikke omfanget, noe som betyr at tilgjengeligheten til variabelen er påvirket. Derfor kan deler av programmet utenfor funksjonen ikke få tilgang til verdien. Omfanget blir imidlertid ikke falt når funksjonsomfanget dør.

Hvis du vil lære mer om dråpe og destruktører i rust, kan du sjekke opplæringen vår om rustdestruktører.

Peker å merke seg

Følgende er noen viktige punkter å merke seg når du bruker statiske variabler i rust:

Statiske variabler må være trådsikre. Derfor må den spesifiserte typen implementere synkroniseringsegenskapen. Å sette en variabel som statisk med en type som ikke er trådsikker, kan føre til datahøpsforhold.

Statiske variabler kan bare henvise til andre statiske variabler som referanse.

Konstanter eller statiske

Selv om statiske variabler ikke er en substitusjon for konstante variabler, anbefaler Rust å alltid favorisere konstanter først med mindre:

  1. Du må lagre store datamengder.
  2. Du trenger interiør mutabilitet
  3. Du trenger en adresse-natur av statiske variabler.

Rust skap statisk variabel

Det er to hovedmåter å lage en statisk variabel i rust. Den første er å skape en konstant verdi med en statisk erklæring.

Et eksempelkode er som vist nedenfor:

statisk verdi: i32 = 10;

Den andre metoden for å lage en statisk verdi er å lage en streng bokstavelig med type og 'statisk STR. Eksempel er som vist:

La hei: & 'statisk str = "hei";

Husk at STR -typen i rust er en type strenglitteraler definert som & 'statisk STR.

Siden strenglitteraler er skiver av en streng, lagres de i den endelige binære og følgelig en statisk levetid.

Siden strengtyper i rust kanskje ikke lever i levetiden til programmet, er det ikke mulig å konvertere en strengtype til en statisk streng. Du kan imidlertid lage en strengskive som er statisk som visning i eksemplet nedenfor:

La streng: String = "Hello World".to_Owned ();
La str_slice: & str = & streng […];

MERK: Selv om du kan ha en mutbar statisk verdi, kan ikke rust bevise dinglende referanser eller datakløp når du får tilgang til en mutbar statisk variabel. Rust fraråder vanligvis ved bruk av statiske mutable variabler.

Konklusjon

Denne korte artikkelen prøver å diskutere konseptet med statiske variabler i rusten. Husk at denne guiden ikke kan tjene som en referanse til statistikk i rust. Sjekk dokumentasjonen for å forstå hvordan statisk fungerer i rust.