Eine Schleife führt denselben Block mehrfach aus. Das ist hilfreich, wenn eine Fahrzeugliste zehn statt nur eines Fahrzeugs enthält. Du schreibst die Ausgaberegel einmal. Eine for-in-Schleife besucht jeden Wert einer Sammlung. Eine klassische for-Schleife verwaltet zusätzlich einen Zähler.
01Eine Liste besuchen
Die eckigen Klammern erzeugen eine Liste. for (final name in names) legt für jeden Durchlauf den aktuellen Namen fest. Es entsteht keine zusätzliche dauerhaft gespeicherte Fahrzeugakte. Wir lesen hier nur Werte.
void main() {
final names = ['Family car', 'Motorbike'];
for (final name in names) {
print(name);
}
for (var i = 0; i < names.length; i++) {
print('${i + 1}: ${names[i]}');
}
}
Starten / prüfen
dart run loops.dart02Mit einem Index arbeiten
i startet bei 0. i < names.length verhindert einen Zugriff außerhalb der Liste. i++ erhöht den Index nach jedem Durchlauf. Der erste Listeneintrag hat Index 0, nicht 1.
03Endlose Wiederholung vermeiden
Eine while-Schleife wiederholt ihren Block, solange ihre Bedingung wahr bleibt. Der Block muss den Zustand irgendwann verändern oder mit break abbrechen. Für eine bekannte Liste ist for-in meistens leichter zu lesen.
Family car und Motorbike werden jeweils zweimal ausgegeben.
Deine Übung
Gib nur die Namen aus, die mit M anfangen.
Lösung mit Erklärung anzeigen
Prüfe innerhalb von for-in mit if (name.startsWith("M")), ob der aktuelle Name passt. Das Beispiel gibt nur Motorbike aus. Die Schleife besucht weiterhin beide Namen.
Projektbezug und Quellen
Das Beispiel ist zum Lernen vereinfacht. Die verlinkte Codeversion zeigt die Anwendung im Projekt und die dortigen Prüfungen.