Crates und die Crate-Root
Projektstruktur
Crates und die Crate-Root ist eine kostenlose Learn Rust Coding-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn Rust Coding-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn Rust Coding-Kurs umfasst insgesamt 4 Lektionen.
Was ist ein Crate?
Ein Crate ist die kleinste Einheit, mit der der Rust-Compiler arbeitet. Es gibt zwei Arten: Ein Binary-Crate wird zu einer ausführbaren Datei kompiliert, ein Library-Crate dient anderem Code als Abhängigkeit.
Binary-Crate und Library-Crate
Ein Binary-Crate enthält eine main-Funktion und erzeugt ein ausführbares Programm. Ein Library-Crate hat keine main-Funktion und stellt wiederverwendbare Elemente für andere Crates bereit.
- Binary-Wurzel:
src/main.rs - Library-Wurzel:
src/lib.rs
Die Crate-Wurzel
Die Crate-Wurzel ist die Quelldatei, bei der der Compiler beginnt. Sie bildet die Spitze des Modulbaums, und das Schlüsselwort crate in einem Pfad verweist auf sie.
fn main() {
crate::greet();
}
fn greet() {
println!("hello from the crate root");
}Cargo und Packages
Ein Package besteht aus einem oder mehreren von Cargo verwalteten Crates und wird in Cargo.toml beschrieben. Ein Package enthält höchstens ein Library-Crate und beliebig viele Binary-Crates.
Cargo übernimmt das Erstellen, Testen und Verwalten von Abhängigkeiten.
Ein minimales Cargo.toml
Das Manifest legt den Namen, die Version und die Abhängigkeiten des Packages fest. Cargo liest es, um zu wissen, wie Ihr Projekt erstellt werden soll.
[package]— Name, Version, Edition[dependencies]— externe Crates
Standard-Projektstruktur
Cargo erwartet eine konventionelle Struktur:
src/main.rs— Wurzel des Binary-Cratessrc/lib.rs— Wurzel des Library-Cratessrc/bin/— zusätzliche Binary-Cratestests/— Integrationstests
Wenn Sie dieser Konvention folgen, ist keine Konfiguration erforderlich.
Module liegen unter der Wurzel
Die Crate-Wurzel kann Module deklarieren, die den Modulbaum bilden. Alles, was Sie erstellen, hängt an dieser einen Wurzeldatei.
mod utils {
pub fn shout(s: &str) -> String {
s.to_uppercase()
}
}
fn main() {
println!("{}", utils::shout("crate"));
}Auf mehrere Dateien aufteilen
Wenn die Wurzel mit einem Semikolon mod utils; deklariert, lädt Cargo src/utils.rs. Der Inhalt der Datei wird zum Rumpf dieses Moduls, sodass über mehrere Dateien hinweg ein einziger Baum erhalten bleibt.
Eine Library aus einem Binary verwenden
In einem Package mit lib.rs und main.rs greift das Binary über den Package-Namen auf die Library zu. Die Library stellt pub-Elemente bereit, die das Binary verwendet.
Durch diese Aufteilung bleibt die Logik in der Library und der Einstiegspunkt schlank.
Abhängigkeiten hinzufügen
Führen Sie cargo add rand aus oder bearbeiten Sie [dependencies] in Cargo.toml. Cargo lädt das Crate von crates.io herunter und macht es für use verfügbar.
Außerdem legt Cargo in Cargo.lock exakte Versionen fest, um reproduzierbare Builds zu ermöglichen.
Das große Ganze
Von klein nach groß: Modul < Crate < Package. Module organisieren ein Crate, die Crate-Wurzel verankert den Baum, und Package sowie Cargo fügen alles zusammen.
Kurze Überprüfung
Testen Sie Ihr Verständnis der Projektstruktur.
Zusammenfassung
Sie haben die Projektstruktur kennengelernt:
- Ein Crate ist ein Binary oder eine Library
- Die Crate-Wurzel (
main.rsoderlib.rs) verankert den Modulbaum - Ein Package fasst Crates zusammen und wird durch
Cargo.tomlbeschrieben - Cargo verwaltet Struktur, Builds und Abhängigkeiten
Häufig gestellte Fragen
Ist die Lektion „Crates und die Crate-Root“ kostenlos?
Ja — der vollständige Text von „Crates und die Crate-Root“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn Rust Coding-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn Rust Coding-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Crates und die Crate-Root“?
Projektstruktur Du übst Learn Rust Coding mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Learn Rust Coding zu starten?
Keine Vorkenntnisse erforderlich. Learn Rust Coding auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Crates und die Crate-Root“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Learn Rust Coding-Lektion Code schreiben und ausführen?
Ja. Jede Learn Rust Coding-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Module und mod
- pub und Sichtbarkeit
- use und Pfade
- Crates und die Crate-Root