Variabili, mutabilità e shadowing
Comprenda come dichiarare le variabili, gestire la mutabilità e utilizzare lo shadowing per ridefinire le variabili in modo flessibile.
Variabili, mutabilità e shadowing è una lezione Learn Rust Coding gratuita su CoddyKit. Questa è la lezione 1 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn Rust Coding, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn Rust Coding include 3 lezioni in totale.
Introduzione alle variabili Rust
Benvenuto! In Rust, le variabili sono fondamentali per memorizzare i dati. Sono come scatole con un'etichetta in cui conservare le informazioni necessarie al programma.
Rust pone grande attenzione alla sicurezza, e questo inizia dal modo in cui gestisce le variabili. Imparerà a dichiararle, a controllarne la modificabilità e persino a "ridefinirle" in modi intelligenti.
Dichiarare variabili con `let`
Per creare una variabile in Rust si utilizza la parola chiave let. Questa assegna un nome a un valore. Spesso Rust deduce il tipo, quindi non è sempre necessario specificarlo.
Provi a eseguire questo semplice esempio:
fn main() {
let apples = 5;
println!("I have {} apples.", apples);
}L'immutabilità predefinita di Rust
Un concetto fondamentale di Rust è che le variabili sono immutabili per impostazione predefinita. Dopo aver assegnato un valore a una variabile, non può più modificarlo.
Può sembrare restrittivo, ma aiuta a prevenire gli errori e rende il codice più sicuro e facile da comprendere, soprattutto nella programmazione concorrente.
Rendere mutabili le variabili con `mut`
Se deve modificare il valore di una variabile, può renderla esplicitamente mutabile utilizzando la parola chiave mut prima del nome della variabile.
In questo modo comunica a Rust e agli altri sviluppatori che il valore della variabile è destinato a cambiare.
fn main() {
let mut score = 100;
println!("Initial score: {}", score);
score = 150; // We can change it now!
println!("New score: {}", score);
}Quando usare `mut`
Sebbene mut sia potente, è buona norma utilizzarlo solo quando necessario. Preferisca l'immutabilità come impostazione predefinita.
- Utilizzi
mutper contatori, variabili di stato o valori che devono effettivamente essere aggiornati. - Se un valore non cambia mai dopo l'assegnazione iniziale, lo lasci immutabile (senza
mut). - Chiarezza: indicare esplicitamente una variabile come
mutrende più chiara l'intenzione del codice.
Definire costanti con `const`
Le costanti sono tipi speciali di variabili immutabili. Vengono dichiarate con la parola chiave const invece di let e il loro tipo deve essere sempre specificato esplicitamente.
Alle costanti possono essere assegnate solo espressioni costanti, non il risultato di una chiamata di funzione né un valore che può essere calcolato solo durante l'esecuzione.
fn main() {
const MAX_USERS: u32 = 10_000; // Type annotation is required!
println!("Max users allowed: {}", MAX_USERS);
}Variabili `let` e costanti `const`
Ecco le principali differenze tra le variabili let e le costanti const:
- Modificabilità: le variabili
letsono immutabili per impostazione predefinita, ma possono diventare mutabili conmut. Le costanticonstsono sempre immutabili. - Dichiarazione:
letutilizzalet.constutilizzaconst. - Annotazione del tipo: per le variabili
letRust può spesso dedurre il tipo. Per le costanticonstil tipo deve essere specificato. - Ambito: le costanti
constpossono essere dichiarate in qualsiasi ambito, incluso quello globale.
Introduzione allo shadowing
Rust consente di dichiarare una nuova variabile con lo stesso nome di una variabile precedente. Questa tecnica si chiama shadowing.
La nuova variabile "nasconde" quella precedente, quindi tutto il codice successivo vedrà il valore della nuova variabile. La vecchia variabile esiste ancora in memoria, ma non è più direttamente accessibile.
fn main() {
let x = 5;
println!("First x: {}", x); // Outputs 5
let x = x + 1; // 'x' is shadowed by a new 'x'
println!("Second x: {}", x); // Outputs 6
{ // Inner scope
let x = x * 2; // 'x' is shadowed again
println!("Inner x: {}", x); // Outputs 12
}
println!("Outer x: {}", x); // Outputs 6 (inner x is out of scope)
}Usare lo shadowing per convertire i tipi
Un uso potente dello shadowing consiste nel trasformare il valore e persino il tipo di una variabile mantenendo lo stesso nome. È comune quando occorre analizzare una stringa e convertirla in un numero.
Invece di creare un nuovo nome di variabile (ad esempio string_val e poi num_val), può riutilizzare lo stesso nome.
fn main() {
let spaces = " ";
println!("Spaces string: '{}'", spaces);
// Shadow 'spaces' with a new variable that holds its length
let spaces = spaces.len();
println!("Spaces count: {}", spaces);
}Verifica rapida: variabili e modificabilità
Consideri il seguente codice Rust. Quale sarà il valore finale di y stampato sulla console?
Riepilogo: variabili, modificabilità e shadowing
Ottimo lavoro! Ha imparato gli elementi essenziali delle variabili in Rust:
- Utilizzi
letper dichiarare le variabili, che sono immutabili per impostazione predefinita. - Aggiunga
mutper rendere una variabile mutabile, consentendo di modificarne il valore. - Utilizzi
constper le costanti, che sono sempre immutabili e richiedono annotazioni del tipo. - Lo shadowing consente di dichiarare una nuova variabile con lo stesso nome, sostituendo quella precedente. È utile per le conversioni di tipo.
Ora esamineremo i vari tipi di dati primitivi di Rust!
Domande Frequenti
La lezione «Variabili, mutabilità e shadowing» è gratuita?
Sì — il testo completo di «Variabili, mutabilità e shadowing» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn Rust Coding, passa a CoddyKit PRO. Il corso Learn Rust Coding include 3 lezioni in totale.
Cosa imparerò in «Variabili, mutabilità e shadowing»?
Comprenda come dichiarare le variabili, gestire la mutabilità e utilizzare lo shadowing per ridefinire le variabili in modo flessibile. Eserciti Learn Rust Coding con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Learn Rust Coding?
Non è richiesta alcuna esperienza precedente. Learn Rust Coding su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 3.
Quanto tempo richiede la lezione «Variabili, mutabilità e shadowing»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Learn Rust Coding?
Sì. Ogni lezione Learn Rust Coding include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Variabili, mutabilità e shadowing
- Tipi di dati primitivi e operatori
- Funzioni e flusso di controllo