Vai al contenuto
eLearner.app

Corso interattivo

Corso Rust

Impara il linguaggio Rust da zero con spiegazioni dettagliate, esempi pratici ed esercizi interattivi: dalla gestione delle variabili e tipi primitivi fino alla gestione sicura della memoria con ownership, borrowing, struct e metodi.

Verifica statica via parole chiave + esecuzione sul Rust Playground ufficiale (un click per copia codice + apertura).

01 · Fondamenti di Rust

2 lezioni

Le basi del linguaggio: variabili, mutabilità, shadowing e l'utilizzo dei tipi primitivi scalari e composti.

  1. 1.1Variabili e mutabilitàComprendere la mutabilità di default, l'uso della parola chiave mut e la potenza dello shadowing in Rust.~10 min
  2. 1.2Tipi primitiviTipi di dato primitivi scalari (numerici, booleani, char) e composti (tuple e array a dimensione fissa).~10 min

02 · Controllo del flusso

2 lezioni

Prendere decisioni tramite espressioni condizionali, iterare con cicli e sfruttare il pattern matching del linguaggio.

  1. 2.1Condizionali e cicliBranching con if/else (usato come espressione) e iterazioni con i costrutti loop, while e for.~12 min
  2. 2.2Pattern matching, Option e ResultUtilizzo dell'istruzione match e dei tipi enums standard Option e Result per una gestione sicura degli errori.~15 min

03 · Ownership e Borrowing

2 lezioni

Il cuore della gestione della memoria di Rust: ownership, stack vs heap, move vs copy e l'uso sicuro dei riferimenti.

  1. 3.1Le regole di OwnershipLe tre regole cardine della gestione della memoria senza garbage collector, allocazione dinamica, copy e passaggi di ownership.~15 min
  2. 3.2Riferimenti e BorrowingPrestare dati tramite referenze shared (&) e mutable (&mut), ed evitare data race grazie alle regole del compilatore.~15 min

04 · Strutture dati e Metodi

2 lezioni

Definire e organizzare tipi di dato complessi personalizzati con struct e implementarne il comportamento tramite i blocchi impl.

  1. 4.1Definire e istanziare StructTipi di dati strutturati personalizzati in Rust: struct classiche, tuple struct e istanziazione.~12 min
  2. 4.2Metodi e blocchi implAssociare funzioni e metodi a una struct usando impl, e comprendere la differenza tra self, &self e &mut self.~12 min

05 · Generics e Trait

2 lezioni

Sviluppare codice flessibile e riutilizzabile grazie ai tipi generici e definire comportamenti condivisi tramite i Trait.

  1. 5.1Generici e funzioniSintassi dei tipi generici in funzioni e strutture dati per evitare duplicazione di codice.~12 min
  2. 5.2Trait e Trait BoundsDefinire interfacce comuni con i Trait e vincolare i tipi generici usando la clausola Trait Bound.~15 min

06 · Lifetimes e Smart Pointers

2 lezioni

Gestire la durata dei riferimenti con i lifetime e analizzare la gestione della memoria in heap tramite Box, Rc e Arc.

  1. 6.1Lifetimes e riferimentiComprendere il ruolo del Borrow Checker e specificare le annotazioni dei lifetime espliciti quando necessario.~15 min
  2. 6.2Smart Pointers: Box ed RcAllocazione dinamica in Heap tramite Box e puntatori a conteggio di riferimenti multipli con Rc e Arc.~15 min

07 · Gestione Errori e Collezioni

2 lezioni

Manipolare collezioni dinamiche come HashMap e gestire le eccezioni/errori in modo avanzato ed idiomatico.

  1. 7.1Collezioni e HashMapUtilizzare e manipolare vettori dinamici (Vec) e dizionari chiave-valore (HashMap) per collezionare dati.~12 min
  2. 7.2Gestione errori e operatore ?Propagare gli errori in modo pulito e lineare usando l'operatore ? ed implementare tipi di errore personalizzati.~15 min