Ruggine - Costante

Le costanti rappresentano valori che non possono essere modificati. Se dichiari una costante, non è possibile che il suo valore cambi. La parola chiave per l'utilizzo delle costanti èconst. Le costanti devono essere digitate in modo esplicito. Di seguito è riportata la sintassi per dichiarare una costante.

const VARIABLE_NAME:dataType = value;

Convenzione di denominazione costante di ruggine

La convenzione di denominazione per le costanti è simile a quella delle variabili. Tutti i caratteri in un nome costante sono generalmente in maiuscolo. A differenza della dichiarazione delle variabili, illet la parola chiave non viene utilizzata per dichiarare una costante.

Abbiamo usato le costanti in Rust nell'esempio seguente:

fn main() {
   const USER_LIMIT:i32 = 100;    // Declare a integer constant
   const PI:f32 = 3.14;           //Declare a float constant

   println!("user limit is {}",USER_LIMIT);  //Display value of the constant
   println!("pi value is {}",PI);            //Display value of the constant
}

Costanti v / s variabili

In questa sezione, impareremo i fattori di differenziazione tra costanti e variabili.

  • Le costanti vengono dichiarate utilizzando il const mentre le variabili vengono dichiarate utilizzando la let parola chiave.

  • Una dichiarazione di variabile può opzionalmente avere un tipo di dati mentre una dichiarazione di costante deve specificare il tipo di dati. Ciò significa che const USER_LIMIT = 100 genererà un errore.

  • Una variabile dichiarata utilizzando il letla parola chiave è per impostazione predefinita immutabile. Tuttavia, hai la possibilità di modificarlo utilizzando ilmutparola chiave. Le costanti sono immutabili.

  • Le costanti possono essere impostate solo su un'espressione costante e non sul risultato di una chiamata di funzione o su qualsiasi altro valore che verrà calcolato in fase di esecuzione.

  • Le costanti possono essere dichiarate in qualsiasi ambito, incluso l'ambito globale, il che le rende utili per i valori di cui molte parti del codice devono conoscere.

Shadowing di variabili e costanti

Rust consente ai programmatori di dichiarare variabili con lo stesso nome. In tal caso, la nuova variabile sostituisce la variabile precedente.

Cerchiamo di capirlo con un esempio.

fn main() {
   let salary = 100.00;
   let salary = 1.50 ; 
   // reads first salary
   println!("The value of salary is :{}",salary);
}

Il codice sopra dichiara due variabili con il nome stipendio. Alla prima dichiarazione viene assegnato un valore di 100.00 mentre alla seconda dichiarazione viene assegnato il valore 1.50. La seconda variabile ombreggia o nasconde la prima variabile durante la visualizzazione dell'output.

Produzione

The value of salary is :1.50

Rust supporta variabili con diversi tipi di dati durante lo shadowing.

Considera il seguente esempio.

Il codice dichiara due variabili con il nome uname. Alla prima dichiarazione viene assegnato un valore stringa, mentre alla seconda dichiarazione viene assegnato un numero intero. La funzione len restituisce il numero totale di caratteri in un valore stringa.

fn main() {
   let uname = "Mohtashim";
   let uname = uname.len();
   println!("name changed to integer : {}",uname);
}

Produzione

name changed to integer: 9

A differenza delle variabili, le costanti non possono essere ombreggiate. Se le variabili nel programma precedente vengono sostituite con costanti, il compilatore genererà un errore.

fn main() {
   const NAME:&str = "Mohtashim";
   const NAME:usize = NAME.len(); 
   //Error : `NAME` already defined
   println!("name changed to integer : {}",NAME);
}