Über einen Vektor iterieren
Teil des Abschnitts Logik & Kontrollfluss der Rust-Journey von Coddy. Lektion 11 von 66.
Nachdem du nun weißt, wie man Vektoren erstellt und auf einzelne Elemente zugreift, lernen wir jetzt, wie man jedes Element in einem Vektor systematisch verarbeitet. Die for-Schleife ist für diese Aufgabe ideal, da sie dir ermöglicht, jedes Element der Reihe nach zu durchlaufen.
Hier ist die grundlegende Syntax zum Iterieren über einen Vektor:
let names = vec!["Alice", "Bob", "Charlie"];
for name in &names {
println!("Hello, {}!", name);
}Beachte das & vor names – dadurch wird eine Referenz auf den Vektor erstellt, sodass du jedes Element lesen kannst, ohne selbst den Besitz des Vektors zu übernehmen. Bei jeder Iteration erhältst du über die Schleifenvariable name Zugriff auf jeweils ein Element.
Die for-Schleife übernimmt die Bereichsüberprüfung automatisch für dich. Anders als bei der manuellen Indizierung wirst du nie versehentlich versuchen, auf ein Element zuzugreifen, das nicht existiert. Die Schleife durchläuft genau so viele Elemente, wie der Vektor enthält, und ist dadurch sowohl sicher als auch praktisch.
Du kannst dieses Muster mit einem Vektor beliebigen Typs verwenden:
let scores = vec![85, 92, 78, 90];
for score in &scores {
println!("Score: {}", score);
}Dieser Ansatz ist die gebräuchlichste und idiomatischste Methode, alle Elemente eines Vektors zu verarbeiten, wenn du ihre Werte lesen musst.
Aufgabe
EinfachSchreibe eine Funktion sum_all_elements, die einen Vektor numbers entgegennimmt und die Summe aller seiner Elemente zurückgibt.
Verwende eine for-Schleife, um den Vektor zu durchlaufen und die Summe aller Elemente zu bilden.
Parameter:
numbers(Vec<i32>): Der Vektor der zu summierenden Ganzzahlen
Rückgabe: Die Summe aller Elemente im Vektor (i32)
Probier es selbst
fn sum_all_elements(numbers: Vec<i32>) -> i32 {
// Schreibe hier den Code
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Kontrollfluss
1Fortgeschrittener Kontrollfluss
Der 'match'-AusdruckAbgleichen mehrerer WerteBereiche abgleichenDer 'if let'-AusdruckSchleifen als AusdrückeRückblick – Einfacher Befehls-Parser4Daten gruppieren mit Structs
Was ist ein Struct?Übersicht über StructsZugriff auf Struct-FelderVeränderbare StructsStructs als FunktionsparameterTupel-StructsZusammenfassung – Ein Buch-Struct erstellen2Einführung in Vektoren
Was ist ein Vektor?Einen Vektor erstellenElemente mit push hinzufügenZugriff auf Vektor-ElementeÜber einen Vektor iterierenVeränderliche IterationElemente entfernenZusammenfassung – Einfacher Score-Tracker5Schlüssel-Wert-Paare mit Hash Maps
Was ist eine Hash Map?Erstellen einer Hash MapEinfügen von Schlüssel-Wert-PaarenZugreifen auf WerteIterieren über eine Hash MapAktualisieren eines WertesEntfernen eines PaaresZusammenfassung – Wortzähler8Projekt: Einfaches Artikelinventar
Projekt-SetupEinen Artikel hinzufügenLagerbestand prüfenEinen Artikel verkaufenAlles zusammenfügen11Abschluss-Herausforderungen
Wiederholung - Einzigartige ElementeWiederholung - Benutzerprofil-ValidatorWiederholung - Noten-Zusammenfassung3Kommandozeilen-To-Do-Liste
Projekt-SetupEine Aufgabe hinzufügenAlle Aufgaben anzeigenEine Aufgabe entfernenFinaler CodeÜbe selbstständig: Online-Rust-Compiler