Menu
Coddy logo textTech

Shadowing Teil 1

Teil des Abschnitts Fundamentals der Rust-Journey von Coddy — Lektion 46 von 75.

Sie können eine neue Variable mit demselben Namen wie eine vorherige Variable in einem anderen Gültigkeitsbereich deklarieren. Die neue Variable überschattet die vorherige bis zum Ende ihres Gültigkeitsbereichs:

fn main() {
    let x = 5;
    {
        let x = 12;
        // überschattet das äußere x
        println!("{}", x);
        // gibt "12" aus
    }
    
    println!("{}", x);
    // gibt "5" aus
}
challenge icon

Aufgabe

Anfänger

Schreiben Sie ein Rust-Programm, das das Konzept des Shadowing demonstriert. Führen Sie die folgenden Schritte aus:

  1. Deklarieren Sie eine Variable namens x und initialisieren Sie diese mit dem Wert 5.
  2. Geben Sie den Wert von x in der Konsole im folgenden Format aus: x is: …
  3. Überdecken (Shadow) Sie x mit einem neuen Wert, der dem ursprünglichen x plus 3 entspricht, innerhalb eines neuen Gültigkeitsbereichs (Scope).
  4. Geben Sie das überdeckte x  im folgenden Format aus: x is: …
  5. Geben Sie schließlich x außerhalb des Gültigkeitsbereichs im folgenden Format aus: x is: …

Spickzettel

Sie können eine neue Variable mit demselben Namen wie eine vorherige Variable in einem anderen Gültigkeitsbereich (Scope) deklarieren. Die neue Variable überschattet die vorherige bis zum Ende ihres Gültigkeitsbereichs:

fn main() {
    let x = 5;
    {
        let x = 12;
        // überschattet das äußere x
        println!("{}", x);
        // gibt "12" aus
    }
    
    println!("{}", x);
    // gibt "5" aus
}

Probier es selbst

fn main() {
    // Deklariere x und initialisiere es mit 5
    
    // Gib den Wert von x aus
    
    {
        // Überschatte x mit dem ursprünglichen x plus 3
        
        // Gib den Wert des überschatteten x aus
        
    }
    // Gib den Wert des äußeren x aus
    
}
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 Fundamentals