Questo capitolo tratta i concetti che appaiono in quasi tutti i linguaggi di programmazione e come funzionano in Rust. Molti linguaggi di programmazione hanno molto in comune nel loro nucleo. Nessuno dei concetti presentati in questo capitolo è unico per Rust, ma li discuteremo nel contesto di Rust e spiegheremo le convenzioni sull'uso di questi concetti. In particolare, imparerà a conoscere le variabili, i tipi di base, le funzioni, i commenti e il flusso di controllo. Queste basi saranno presenti in ogni programma Rust, e impararle presto le darà una base solida da cui partire.
La proprietà è la caratteristica più unica di Rust e ha profonde implicazioni per il resto del linguaggio. Permette a Rust di garantire la sicurezza della memoria senza bisogno di un garbage collector, quindi è importante capire come funziona la proprietà. In questo capitolo parleremo della proprietà e di diverse funzioni correlate: il prestito, le fette e il modo in cui Rust dispone i dati in memoria.
Modulo 5: Utilizzare le strutture per strutturare i dati correlati
Una struct, o struttura, è un tipo di dati personalizzato che le consente di raggruppare e nominare più valori correlati che costituiscono un gruppo significativo. Se ha familiarità con un linguaggio orientato agli oggetti, una struct è come gli attributi dei dati di un oggetto. In questo capitolo, confronteremo e contrapporremo le tuple con le struct, per approfondire le conoscenze già acquisite e dimostrare quando le struct sono un modo migliore per raggruppare i dati. Dimostreremo come definire e istanziare le strutture. Parleremo di come definire le funzioni associate, in particolare il tipo di funzioni associate chiamate metodi, per specificare il comportamento associato a un tipo di struct. Le strutture e gli enum (discussi nel Capitolo 6) sono i mattoni per la creazione di nuovi tipi nel dominio del suo programma, per sfruttare appieno il controllo di tipo in tempo di compilazione di Rust.