Zmienne rdzy

Zmienne rdzy

W programowaniu zmienna odnosi się do kontenera pamięci używanego do przechowywania wartości. Mówiąc najprościej, zmienna to nazwana lokalizacja pamięci, w której program może przechowywać i pobierać dane. Chociaż fundamentalna koncepcja zmiennej jest uniwersalna w językach programowania, Rust traktuje zmienne nieco inaczej.

W rdzy zmienna jest powiązana z określonym typem. Kompilator użyje typu danych do określenia układu pamięci zmiennej i miejsca do alokacji zmiennej.

W tym biegu zbadamy, jak pracować ze zmiennymi w rdzy i jak je używać do przechowywania różnych rodzajów informacji.

Zmienne nazwy rdzy

Jak wspomnialiśmy, zmienna jest nazwaną lokalizacją pamięci w programie. Oznacza to, że musimy utworzyć identyfikator, z którym mogą odwoływać się inne części programu.

Chociaż nazywanie czegoś jako zmiennej może wydawać się bardzo trywialne, istnieją pewne zasady, do których przestrzegamy.

Obejmują one:

  • Zmienna nazwa nie może zaczynać się od cyfr lub znaków specjalnych oprócz podkreślenia.
  • Nazwa może składać się z małych lub wielkich znaków alfanumerycznych lub podkreślenia.
  • Nazwy zmiennych są wrażliwe na rdzę. Stąd zmienne wiekowe i wiek nie są takie same.
  • Chociaż nie są wymagane, reguły nazewnictwa rdzy definiują zmienną lokalną, która powinna użyć obudowy węża do łączenia nazwisk. Na przykład, całkowite punkty zamiast totalpoints.

Powyższe są pewnymi zasadami nazewnictwa, które należy przestrzegać podczas nazywania zmiennej. Możesz sprawdzić zasady nazewnictwa rdzy w poniższym zasobie:

https: // rust lang.github.IO/API-GUIDILINES/NEMING.html

Deklaracja zmiennej rdzy

Możemy zadeklarować zmienną za pomocą słowa kluczowego let lub const. Po słowa kluczowym ustawiamy nazwę zmiennej i jej typu danych.

Składnia jest jak pokazana:

LET VARILE_NAME: Type;

Pokazany jest przykładowy program o zmiennej deklaracji:

fn main ()
Niech URL:&str;

Powyższe deklaruje zmienną zwaną adresem URL typu i Str.

Adnotacja typu w rdzy jest opcjonalna. Oznacza to, że kompilator może wywnioskować typ z wartości przypisanej do zmiennej.

Przykład deklaracji zmiennej bez adnotacji typu pokazano poniżej:

fn main ()
niech url = "https: // linuxhint.com ";

Słowo kluczowe w rdzy umożliwia zdefiniowanie zmiennych stałych. W przeciwieństwie do słowa kluczowego, musisz wykonać adnotację typu podczas korzystania z słowa kluczowego Const.

Przykładem jest jak pokazano:

fn main ()
const url: & str = "https: // linuxhint.com ";

Nie możemy zmienić wartości stałej wartości później w programie po deklaracji. Stała będzie również żyła przez całe życie programu i nie ma ustalonego adresu pamięci.

NOTATKA: Stałe są zasadniczo niezmienne, w przeciwieństwie do słów kluczowych mut. Sprawdź sekcje zmienności zmiennej, aby dowiedzieć się więcej.

Drugi: Wartość stałej musi być, no cóż, stała. Nie ustawiaj wartości zmiennej stałej na wyrażenie, które ma być oceniona w czasie wykonywania.

Trzeci: Chociaż przestrzegają zasad nazewnictwa zmiennego. Stałe używają Screaming_Snake_Case dla ich nazwisk.

Zmienność zmiennej rdzy

W rdzy zmienne są domyślnie niezmienne obiekty. Oznacza to, że nie możemy zmodyfikować ich wartości po deklaracji.

Weź poniższy przykład:

fn main ()
niech url = "https: // linuxhint.com ";
url = "https: // Google.com ";

Jeśli skompilujemy powyższy kod, powinniśmy uzyskać błąd, jak pokazano poniżej:

Powyższe wyjście pokazuje, że kompilator domyślnie nie zezwala na ponowne złożenie zmiennych.

Jednak rdza pozwala tworzyć zmienne zmienne. Możesz użyć słowa kluczowego MUT podczas deklaracji funkcji, aby było go zmienne.

Rozważ poniższy przykład:

fn main ()
niech mut url = "https: // linuxhint.com ";
url = "https: // Google.com ";

Powyższy program tworzy zmienną zmienną o nazwie URL. Możemy teraz przenieść jego wartość w dalszej części programu.

Zmienne cieniowanie rdzy

Rust oferuje funkcję znaną jako shadowing; Cóż, większość Rustacean to to odsyła. Jest to funkcja, w której możesz zadeklarować zmienną o tej samej nazwie co zmienna, która została już zadeklarowana i ustawić dla niej nową wartość lub typ.

Lubię myśleć o tym jako o sposób wprowadzenia tymczasowej zmienności do zmiennej.

Weźmy przykładowy program poniżej:

fnmain ()
leturl = "https: // linuxhint.com ";

// Druga zmienna cień Pierwszy
leturl = "https: // Google.com ";
println!(„”, url);

println!(„”, url);

W powyższym programie deklarujemy niezmienną zmienną o nazwie URL w globalnym zakresie. Następnie tworzymy wewnętrzny zakres, który remontuje zmienną URL i przypisuje jej nową wartość. Zmienna URL w zakresie wewnętrznego cienia zmienna globalna w tym przypadku.

Jeśli uruchomimy powyższy program, powinniśmy uzyskać dane wyjściowe jako:

Należy pamiętać, że zmienne cieniowanie różni się od zmiennej zmienności. To dlatego, że,

  • Tworzymy nową zmienną podczas korzystania z słowa kluczowego.
  • Ta funkcjonalność jest niestabilna, a funkcja pozostaje niezmienna, ale z nową wartością.

Zamknięcie

Zbadaliśmy, jak działają zmienne w języku programowania rdzy. Ćwicz lub sprawdź dokumentację, aby dowiedzieć się więcej.