0Pricing
Learn Rust Coding · Lezione

Crate e crate root

Struttura del progetto

Crate e crate root è una lezione Learn Rust Coding gratuita su CoddyKit. Questa è la lezione 4 di 4. 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 4 lezioni in totale.

Che cos'è un crate?

Un crate è l'unità più piccola con cui lavora il compilatore Rust. Ne esistono due tipi: un crate binario, che viene compilato in un eseguibile, e un crate libreria, da cui dipende altro codice.

Binario e libreria a confronto

Un crate binario contiene una funzione main e produce un programma eseguibile. Un crate libreria non contiene main ed espone elementi riutilizzabili per altri crate.

  • Radice del binario: src/main.rs
  • Radice della libreria: src/lib.rs

La radice del crate

La radice del crate è il file sorgente da cui parte il compilatore. Si trova al vertice dell'albero dei moduli e la parola chiave crate in un percorso vi fa riferimento.

fn main() {
    crate::greet();
}

fn greet() {
    println!("hello from the crate root");
}

Cargo e i package

Un package è costituito da uno o più crate gestiti da Cargo e descritto in Cargo.toml. Un package contiene al massimo un crate libreria e un numero qualsiasi di crate binari.

Cargo gestisce compilazione, test e dipendenze.

Un Cargo.toml minimale

Il manifest dichiara il nome, la versione e le dipendenze del package. Cargo lo legge per sapere come compilare il progetto.

  • [package] — nome, versione, edizione
  • [dependencies] — crate esterni

Struttura standard del progetto

Cargo si aspetta una struttura convenzionale:

  • src/main.rs — radice del crate binario
  • src/lib.rs — radice del crate libreria
  • src/bin/ — binari aggiuntivi
  • tests/ — test di integrazione

Seguire la convenzione significa non dover configurare nulla.

I moduli risiedono sotto la radice

La radice del crate può dichiarare moduli, che formano l'albero dei moduli. Tutto ciò che costruisce viene collegato a questo singolo file radice.

mod utils {
    pub fn shout(s: &str) -> String {
        s.to_uppercase()
    }
}

fn main() {
    println!("{}", utils::shout("crate"));
}

Suddividere il codice in file

Quando la radice dichiara mod utils; con un punto e virgola, Cargo carica src/utils.rs. Il contenuto del file diventa il corpo del modulo, mantenendo un unico albero distribuito su più file.

Utilizzare una libreria da un binario

In un package che contiene sia lib.rs sia main.rs, il binario fa riferimento alla libreria tramite il nome del package. La libreria espone elementi pub che il binario utilizza.

Questa suddivisione mantiene la logica nella libreria e il punto di ingresso essenziale.

Aggiungere dipendenze

Esegua cargo add rand oppure modifichi [dependencies] in Cargo.toml. Cargo scarica il crate da crates.io e lo rende disponibile a use.

Cargo blocca inoltre le versioni esatte in Cargo.lock per garantire compilazioni riproducibili.

Il quadro generale

Dal più piccolo al più grande: modulo < crate < package. I moduli organizzano un crate; la radice del crate costituisce il punto di ancoraggio dell'albero; il package e Cargo completano il sistema.

Verifica rapida

Verifichi la Sua conoscenza della struttura dei progetti.

Riepilogo

Ha imparato a conoscere la struttura dei progetti:

  • Un crate è un binario o una libreria
  • La radice del crate (main.rs o lib.rs) costituisce il punto di ancoraggio dell'albero dei moduli
  • Un package raggruppa i crate ed è descritto da Cargo.toml
  • Cargo gestisce struttura, compilazione e dipendenze

Domande Frequenti

La lezione «Crate e crate root» è gratuita?

Sì — il testo completo di «Crate e crate root» è 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 4 lezioni in totale.

Cosa imparerò in «Crate e crate root»?

Struttura del progetto 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 4 di 4.

Quanto tempo richiede la lezione «Crate e crate root»?

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

  1. Moduli e mod
  2. pub e visibilità
  3. use e percorsi
  4. Crate e crate root
← Torna a Learn Rust Coding