Menu
Coddy logo textTech

Grundlagen der Module

Teil des Abschnitts Object Oriented Programming der Rust-Journey von Coddy — Lektion 8 von 61.

Wenn Ihre Rust-Programme wachsen, wird es unhandlich, alles in einer einzigen Datei zu behalten. Das Modulsystem von Rust ermöglicht es Ihnen, Code zu organisieren, indem Sie Structs und deren Implementierungen in separate Dateien verschieben.

Um ein Modul in einer separaten Datei zu erstellen, erstellen Sie einfach eine neue Datei mit dem gewünschten Modulnamen. Um zum Beispiel ein player-Modul zu erstellen, würden Sie eine Datei namens player.rs erstellen:

// player.rs
struct Player {
    name: String,
    score: u32,
}

impl Player {
    fn new(name: String) -> Player {
        Player { name, score: 0 }
    }
}

Um dieses Modul in Ihrer Hauptdatei zu verwenden, deklarieren Sie es mit dem mod-Schlüsselwort. Dies weist Rust an, nach einer Datei mit diesem Namen zu suchen:

// main.rs
mod player;

fn main() {
    // Wir können nun auf Elemente aus dem player-Modul zugreifen
}

Die Deklaration mod player; weist Rust an, den Inhalt von player.rs zu finden und einzubinden. Betrachten Sie es als eine Verknüpfung des Codes dieser Datei mit Ihrem Programm. Der Modulname muss exakt mit dem Dateinamen übereinstimmen (ohne die Dateiendung .rs).

Diese Trennung hält zusammengehörigen Code zusammen – Ihre struct-Definition und all ihre Methoden befinden sich in einer eigenen Datei, während main.rs auf den Einstiegspunkt des Programms konzentriert bleibt. In der nächsten Lektion lernen Sie, wie Sie tatsächlich auf die Elemente zugreifen, die Sie in Modulen platziert haben.

Spickzettel

Um Code in separaten Dateien zu organisieren, erstellen Sie eine Moduldatei mit dem gewünschten Namen. Zum Beispiel player.rs:

// player.rs
struct Player {
    name: String,
    score: u32,
}

impl Player {
    fn new(name: String) -> Player {
        Player { name, score: 0 }
    }
}

Um das Modul in Ihrer Hauptdatei zu verwenden, deklarieren Sie es mit dem Schlüsselwort mod:

// main.rs
mod player;

fn main() {
    // Modulinhalte sind jetzt verfügbar
}

Die Deklaration mod player; weist Rust an, player.rs zu finden und einzubinden. Der Modulname muss exakt mit dem Dateinamen übereinstimmen (ohne die Dateiendung .rs).

Probier es selbst

Diese Lektion enthält keine Programmieraufgabe.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Object Oriented Programming