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
}Aufgabe
AnfängerSchreiben Sie ein Rust-Programm, das das Konzept des Shadowing demonstriert. Führen Sie die folgenden Schritte aus:
- Deklarieren Sie eine Variable namens
xund initialisieren Sie diese mit dem Wert5. - Geben Sie den Wert von
xin der Konsole im folgenden Format aus:x is: … - Überdecken (Shadow) Sie
xmit einem neuen Wert, der dem ursprünglichenxplus3entspricht, innerhalb eines neuen Gültigkeitsbereichs (Scope). - Geben Sie das überdeckte
xim folgenden Format aus:x is: … - Geben Sie schließlich
xauß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
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Fundamentals
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorArithmetische AbkürzungenVergleichsoperatorenString-Vergleich7Grundlagen IO
Ausgabe in die KonsoleBenutzereingaben lesenWiederholung - Bis 120Wiederholung - Wahr oder Falsch5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Wiederholung - Einfache LogikLogische Operatoren Teil 311Funktionen
Funktionen deklarierenParameter und ArgumenteRückgabewerteMehrere RückgabewerteWiederholung - Sigma-FunktionWiederholung - Validierungsfunktion14Iterieren über Arrays
Range-LeitfadenErweiterte For-SchleifeBorrowing in SchleifenGängige Array-Operationen3Variablen Teil 2
TypdeklarationNamenskonventionenTypinferenzRückblick - Variablen initialisierenTypumwandlung6Entscheidungsfindung
If-AusdrückeIf-ElseMatch-AnweisungZusammenfassung - If-ElseVerschachteltes If-Else9Schleifen
For-Schleife über SerienWhile-SchleifeBreakContinueVerschachtelte SchleifenSchleifen-LabelsEndlosschleifeRückblick – Dynamische Eingabe