Menu
Coddy logo textTech

Zugriff auf Struct-Felder

Teil des Abschnitts Logik & Kontrollfluss der Rust-Journey von Coddy. Lektion 22 von 66.

Sobald du eine Struct-Instanz erstellt hast, benötigst du eine Möglichkeit, die darin gespeicherten Werte abzurufen. Rust verwendet die Punktnotation, um auf einzelne Felder innerhalb einer Struct zuzugreifen.

Die Syntax ist unkompliziert: Du schreibst den Namen der Struct-Instanz, gefolgt von einem Punkt und anschließend dem Feldnamen, auf den du zugreifen möchtest:

let product = Product {
    name: String::from("Laptop"),
    price: 999,
};

println!("Product: {}", product.name);
println!("Price: ${}", product.price);

Diese Punktnotation funktioniert genau wie der Zugriff auf Eigenschaften in anderen Programmiersprachen. Sie können die abgerufenen Werte in Ausdrücken verwenden, sie Variablen zuweisen oder sie an Funktionen übergeben – sie verhalten sich genau wie jeder andere Wert dieses Typs.

challenge icon

Aufgabe

Einfach

Du erhältst drei Eingaben: einen Fahrzeugmodellnamen, das Baujahr des Fahrzeugs (als Ganzzahl) und dessen Kilometerstand (als Ganzzahl). Definiere ein Car-Struct mit drei Feldern: model vom Typ String, year vom Typ i32 und mileage vom Typ i32. Erstelle mithilfe der Eingabewerte eine Instanz dieses Structs und greife anschließend auf jedes Feld zu und gib es aus.

Anforderungen:

  • Definiere ein Car-Struct mit den Feldern: model: String, year: i32 und mileage: i32
  • Lies die erste Eingabe als Fahrzeugmodell ein
  • Lies die zweite Eingabe ein und konvertiere sie für das Baujahr in i32
  • Lies die dritte Eingabe ein und konvertiere sie für den Kilometerstand in i32
  • Erstelle mit diesen Werten eine Instanz des Car-Structs
  • Verwende die Punktnotation, um auf jedes Feld zuzugreifen, und gib die Fahrzeuginformationen exakt im unten gezeigten Format aus

Eingabe:

  • Erste Zeile: Fahrzeugmodell (z. B. Tesla Model 3)
  • Zweite Zeile: Baujahr als Ganzzahl (z. B. 2022)
  • Dritte Zeile: Kilometerstand als Ganzzahl (z. B. 15000)

Ausgabe:

  • Erste Zeile: Car: [model]
  • Zweite Zeile: Year: [year]
  • Dritte Zeile: Mileage: [mileage] km

Probier es selbst

use std::io;

// TODO: Definieren Sie hier die Car-Struktur mit den Feldern: model, year und mileage

fn main() {
    // Das Automodell einlesen
    let mut model = String::new();
    io::stdin().read_line(&mut model).expect("Failed to read line");
    let model = model.trim().to_string();
    
    // Das Jahr einlesen
    let mut year_input = String::new();
    io::stdin().read_line(&mut year_input).expect("Failed to read line");
    let year: i32 = year_input.trim().parse().expect("Invalid year");
    
    // Den Kilometerstand einlesen
    let mut mileage_input = String::new();
    io::stdin().read_line(&mut mileage_input).expect("Failed to read line");
    let mileage: i32 = mileage_input.trim().parse().expect("Invalid mileage");
    
    // TODO: Erstellen Sie eine Instanz der Car-Struktur unter Verwendung der Eingabewerte
    
    // TODO: Greifen Sie auf jedes Feld zu und geben Sie es im erforderlichen Format aus
    // Car: [model]
    // Year: [year]
    // Mileage: [mileage] km
}
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 Logik & Kontrollfluss

Übe selbstständig: Online-Rust-Compiler