Benvenuto alla seconda lezione del corso su Rust! Dopo aver configurato l’ambiente e scritto il tuo primo programma, è il momento di approfondire alcuni dei concetti fondamentali: variabili, costanti e tipi di dati primitivi. Questi sono i mattoni su cui costruirai tutto il tuo codice Rust. Pronti? Iniziamo!
In Rust, le variabili vengono dichiarate con la parola chiave let. Per impostazione predefinita, le variabili in Rust sono immutabili. Questo significa che non possono essere modificate dopo la loro inizializzazione, a meno che non utilizzi la parola chiave mut.
fn main() {
let nome = "Saverio"; // Variabile immutabile
println!("Il nome è: {}", nome);
// nome = "Mario"; // Questo genera un errore!
}
Se vuoi che una variabile sia modificabile, usa mut:
fn main() {
let mut contatore = 0; // Variabile mutabile
println!("Contatore iniziale: {}", contatore);
contatore += 1;
println!("Contatore aggiornato: {}", contatore);
}
Le costanti in Rust vengono dichiarate con la parola chiave const. A differenza delle variabili, le costanti:
const PI: f64 = 3.141592653589793;
fn main() {
println!("Il valore di PI è: {}", PI);
}
Rust offre diversi tipi primitivi che possono essere suddivisi in queste categorie:
i8, i16, i32, i64, i128, u8, u16, u32, u64, u128).f32, f64).bool).String, &str).fn main() {
let numero_intero: i32 = 42;
let numero_virgola: f64 = 3.14;
let valore_logico: bool = true;
let saluto: &str = "Ciao, Rust!";
println!("Intero: {}", numero_intero);
println!("Float: {}", numero_virgola);
println!("Booleano: {}", valore_logico);
println!("Stringa: {}", saluto);
}
Rust supporta tutte le operazioni matematiche di base: somma (+), sottrazione (-), moltiplicazione (*), divisione (/), modulo (%).
fn main() {
let x = 10;
let y = 3;
println!("Somma: {}", x + y);
println!("Sottrazione: {}", x - y);
println!("Moltiplicazione: {}", x * y);
println!("Divisione: {}", x / y);
println!("Modulo: {}", x % y);
}
Rust richiede conversioni esplicite tra tipi, usando metodi come .parse() o .to_string().
fn main() {
let numero: i32 = "42".parse().unwrap();
println!("Numero convertito: {}", numero);
}
fn main() {
let numero = 42;
let stringa = numero.to_string();
println!("Stringa convertita: {}", stringa);
}
In questa lezione, hai imparato i concetti fondamentali di variabili, costanti e tipi primitivi in Rust. Questi concetti ti aiuteranno a creare programmi sempre più complessi. Nella prossima lezione, esploreremo come usare le strutture di controllo come if, else, e match per gestire il flusso del tuo programma.