La oss diskutere mutabilitet og hvordan vi bruker den i rust.
Som standard er alle variabler i rust uforanderlige. Dette betyr at du ikke kan endre verdien etter initialisering.
For eksempel:
fn main ()
La var = 10;
var = 100;
Hvis vi kjører koden over, vil Rust -kompilatoren mislykkes og returnere en feil som vist:
Feil [E0384]: Kan ikke tilordne to ganger til uforanderlig variabel 'var'
Selv om variabler er uforanderlige som standard, er det nyttig å ha en mutbar variabel. Vi kan lage en variabel mutable ved å bruke mut -nøkkelordet foran variabelnavnet. Dette forteller kompilatoren at de andre delene av programmet kan endre variabelen.
Eksempel:
fn main ()
La mut var = 10;
var = 100;
Med MUT -nøkkelordet kan vi endre verdien av variabelen VAR fra 10 til 100.
Konstanter
Konstanter ligner tett på uforanderlige variabler. Når en verdi er erklært, kan du derfor ikke endre verdien i andre deler av programmet.
Det som gjør konstanter forskjellig fra andre uforanderlige variabler er at de er erklært ved hjelp av Const -nøkkelordet i stedet for å la, og du kan ikke gjøre dem mutable.
For eksempel:
const pi: f64 = 3.14159
Å prøve å sette en konstant variabel som mutable vil resultere i en feil:
const mut pi: 64 = 3.14159
Ovennevnte kode skal returnere:
Feil: Const Globaler kan ikke være mutable
Rust forhindrer deg i å sette en verdi som mutbar. Husk at verdien av en konstant variabel skal være et konstant uttrykk og ikke et resultat av et beregnet uttrykk. Sjekk opplæringen vår om rustkonstanter for å lære mer.
Skygge
Skygge refererer til en teknikk der en variabel blir "overskrevet" av en annen verdi med samme navn.
For eksempel kan du ha en variabel kalt VAR med verdien 10. Du kan deretter omgjøre den variabelen med samme navn og tilordne den en verdi på 100. Når dette skjer, sier vi at de andre variablene skygger den første.
Ta eksemplet nedenfor:
fn main ()
La var = 10;
La var = 100;
I eksemplet over har vi variabelen VAR som holder verdien 10. Vi skaper deretter et indre omfang som skygger variabelen i det indre omfanget.
Husk at skygge ikke ligner på å sette en variabel som mutbar.
Konklusjon
Dette var en kort tutorial som dekker variabler og mutabilitet i rust. Sjekk dokumentasjonen for å utforske videre.