Rust Grundlagen auf dem PC · Teil 17TutorialEinsteiger

Rust

Rust Grundlagen 17: Module und Dateien

Projektcode organisieren. Verständliche Rust-Lektion mit Beispielen, Übung und Musterlösung.

Kapitel: Programme strukturieren

Veröffentlicht am

Teil 17: Module und Dateien

Lernziel: Projektcode organisieren.

Voraussetzungen: Die vorherigen Lektionen, insbesondere Teil 16.

Worum geht es?

Module teilen größere Programme in überschaubare Bereiche. Cargo verwendet dafür eine klare Dateistruktur.

Schritt für Schritt

Erstelle in deinem Cargo-Projekt die Datei src/messwerte.rs:

pub fn mittelwert(werte: &[f64]) -> Option<f64> {
    if werte.is_empty() { None }
    else { Some(werte.iter().sum::<f64>() / werte.len() as f64) }
}

In src/main.rs:

mod messwerte;

fn main() {
    let liste = [20.0, 22.0, 24.0];
    println!("Mittelwert: {:?}", messwerte::mittelwert(&liste));
}

mod messwerte; bindet das Modul aus der Datei ein. pub macht die Funktion außerhalb des Moduls erreichbar. Ohne pub bleibt sie privat.

Kleine Projektstruktur

src/
├── main.rs
└── messwerte.rs

Die Trennung von Eingabe/Ausgabe und Berechnungslogik macht Programme verständlicher und erleichtert spätere Tests.

Selbst ausprobieren

Ergänze im Modul messwerte.rs eine öffentliche Funktion maximum, die aus einem nicht leeren Slice den größten Wert berechnet.

Musterlösung anzeigen
pub fn maximum(werte: &[f64]) -> Option<f64> {
    werte.iter().copied().reduce(f64::max)
}

Aufruf in main: println!("{:?}", messwerte::maximum(&[1.0, 3.0, 2.0]));.

Das solltest du mitnehmen

  • Projektcode organisieren.
  • Nutze cargo run für das Ausführen und cargo check für eine schnelle Fehlerprüfung (ab Teil 4).
  • Experimentiere mit veränderten Werten und beobachte die Compilermeldungen.

Weiterführende Quellen


← Vorheriger Teil | Kursübersicht | Nächster Teil →