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.