Listen und Maps mit range durchlaufen
Erzeugen Sie wiederholtes YAML aus einer Sammlung.
Listen und Maps mit range durchlaufen ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Wiederholen ohne Copy-and-paste
Wenn ein Wert eine Liste enthält, möchten Sie selten jeden Eintrag von Hand eingeben. Die range-Aktion durchläuft eine Sammlung und rendert für jedes Element YAML.
Die range-Aktion
Eine Schleife beginnt mit {{ range SOMETHING }} und endet mit {{ end }}. Der Block dazwischen wird einmal pro Element der Sammlung gerendert. 🔁
{{ range .Values.hosts }}
- host: {{ . }}
{{ end }}Der Punkt wird zum Element
Innerhalb eines range wird der Punkt an das aktuelle Element gebunden, nicht an den Root-Kontext. {{ . }} gibt daher das Element aus, das gerade verarbeitet wird.
hosts:
- api.example.com
- web.example.comEine einfache Liste durchlaufen
Bei einer Liste von Zeichenfolgen gibt range für jeden Wert eine YAML-Zeile aus. Das Ergebnis ist eine saubere Liste mit dynamischer Größe, die vollständig durch values gesteuert wird.
args:
{{ range .Values.flags }}
- {{ . }}
{{ end }}Index und Wert
Sie benötigen auch die Position? Erfassen Sie beides mit zwei Variablen. range übergibt bei jedem Durchlauf zuerst den Index und anschließend den Wert.
{{ range $i, $v := .Values.ports }}
# port {{ $i }} is {{ $v }}
{{ end }}Eine Map durchlaufen
Wenn Sie eine Map mit range durchlaufen, werden die beiden Variablen zum Schlüssel und zum Wert. Das eignet sich hervorragend, um eine values-Map in Labels oder Umgebungsvariablen umzuwandeln.
{{ range $key, $val := .Values.labels }}
{{ $key }}: {{ $val }}
{{ end }}Map-Schlüssel werden sortiert
Helm durchläuft Map-Schlüssel in alphabetischer Reihenfolge, nicht in der Einfügereihenfolge. Dadurch bleibt die gerenderte Ausgabe über mehrere Durchläufe stabil und diff-freundlich.
Im Inneren den Root-Kontext erreichen
Da der Punkt jetzt auf das Element verweist, ist .Values innerhalb der Schleife nicht erreichbar. Erfassen Sie den Root-Kontext vorher mit $, damit Sie weiterhin darauf zugreifen können.
{{ range .Values.envs }}
name: {{ $.Release.Name }}-{{ . }}
{{ end }}Leere Listen erzeugen keine Ausgabe
Wenn die Sammlung leer ist, erzeugt range einfach keine Ausgabe und überspringt seinen Block. Keine Elemente bedeuten keinen Schleifenrumpf – genau das gewünschte Verhalten.
Achten Sie auf die Einrückung
Jeder Durchlauf muss am übergeordneten Schlüssel ausgerichtet sein. Schleifen werden häufig mit dem indent-Helper kombiniert, damit das wiederholte YAML auf der richtigen Ebene landet. 🧱
range mit if kombinieren
Verschachteln Sie ein if innerhalb eines range, um während des Durchlaufs zu filtern. Nur die Elemente, die die Bedingung erfüllen, geben ihren Block aus; die übrigen werden übersprungen.
{{ range .Values.users }}
{{ if .active }}
- {{ .name }}
{{ end }}
{{ end }}Kurztest
Sie durchlaufen mit {{ range .Values.hosts }} eine Liste von Zeichenfolgen.
Rückblick
Sie können jetzt mit range Schleifen erstellen, Elemente über den neu gebundenen Punkt lesen, den Index oder Schlüssel abrufen und mit $ den Root-Kontext erreichen. Wiederholungen sind beherrscht! 🎯
Häufig gestellte Fragen
Ist die Lektion „Listen und Maps mit range durchlaufen“ kostenlos?
Ja — der vollständige Text von „Listen und Maps mit range durchlaufen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Listen und Maps mit range durchlaufen“?
Erzeugen Sie wiederholtes YAML aus einer Sammlung. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um DevOps Bootcamp zu starten?
Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Listen und Maps mit range durchlaufen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?
Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Bedingte Blöcke mit if und else
- Wahrheitswerte und Operatoren in Bedingungen
- Listen und Maps mit range durchlaufen
- Einen Block mit with begrenzen