Rust Grundlagen auf dem PC · Teil 15TutorialEinsteiger

Rust

Rust Grundlagen 15: Strukturen und Methoden

Eigene Datentypen definieren. Verständliche Rust-Lektion mit Beispielen, Übung und Musterlösung.

Kapitel: Programme strukturieren

Veröffentlicht am

Teil 15: Strukturen und Methoden

Lernziel: Eigene Datentypen definieren.

Voraussetzungen: Die vorherigen Lektionen, insbesondere Teil 14.

Worum geht es?

Eine struct bündelt Felder, die logisch zusammengehören, etwa Informationen zu einem 3D-Drucker.

Schritt für Schritt

struct Drucker {
    name: String,
    temperatur: f64,
    aktiv: bool,
}

impl Drucker {
    fn beschreibung(&self) -> String {
        format!("{}: {:.1} °C, aktiv: {}", self.name, self.temperatur, self.aktiv)
    }
}

fn main() {
    let drucker = Drucker {
        name: String::from("Neptune 4"),
        temperatur: 205.0,
        aktiv: true,
    };
    println!("{}", drucker.beschreibung());
}

impl sammelt Methoden zu einem Typ. &self bedeutet, dass die Methode die Instanz nur ausleiht. Eine Methode mit &mut self darf deren Felder verändern. Eine ohne self kann als zugehörige Funktion, z. B. Drucker::neu(), aufgerufen werden.

Nächster Schritt: Eine Struktur kann auch in einem Vektor gespeichert werden: Vec<Drucker>.

Selbst ausprobieren

Ergänze ein Feld standort: String und eine Methode, die den Standort ausgibt.

Musterlösung anzeigen
struct Drucker { name: String, standort: String }
impl Drucker {
    fn zeige_standort(&self) { println!("{} steht in {}", self.name, self.standort); }
}
fn main() {
    let d = Drucker { name: "X1C".into(), standort: "Labor".into() };
    d.zeige_standort();
}

Das solltest du mitnehmen

  • Eigene Datentypen definieren.
  • 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 →