0Pricing
Helm Academy · Lektion

Tiefes Zusammenführen mit mergeOverwrite und dict

Setzen Sie strukturierte Werte programmgesteuert zusammen.

Tiefes Zusammenführen mit mergeOverwrite und dict ist eine kostenlose Helm Academy-Lektion auf CoddyKit. Dies ist Lektion 1 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 Helm Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Helm Academy-Kurs umfasst insgesamt 4 Lektionen.

Maps in Templates erstellen

Manchmal müssen Sie innerhalb eines Templates eine Map zusammensetzen. Die Funktion dict erstellt eine Map aus abwechselnden Schlüssel-Wert-Paaren.

{{ $cfg := dict "level" "info" "json" true }}

Warum Maps zusammenführen

Oft haben Sie Standardwerte des Charts und Überschreibungen durch Nutzer und möchten daraus eine einzige kombinierte Map erstellen. Genau das erzeugt ein merge.

Flaches Merge

Die Funktion merge kopiert Schlüssel aus Quell-Maps in ein Ziel, behält jedoch immer den Zielwert bei, wenn ein Schlüssel bereits vorhanden ist.

{{ $out := merge $user $defaults }}

merge bevorzugt das Ziel

Bei merge gewinnt das erste Argument bei jedem widersprüchlichen Schlüssel. Daher eignet sich die Funktion besonders, wenn Benutzereingaben Ihre Standardwerte überschreiben sollen.

mergeOverwrite kennenlernen

Die Funktion mergeOverwrite macht das Gegenteil: Spätere Quell-Maps überschreiben das Ziel und legen ihre Werte darüber.

{{ $out := mergeOverwrite $defaults $user }}

Tief statt flach

Beide Hilfsfunktionen führen rekursive Merges durch: Verschachtelte Maps werden Schlüssel für Schlüssel kombiniert, anstatt dass der gesamte Teilbaum vollständig ersetzt wird.

Warnung vor Mutation

Vorsicht: merge und mergeOverwrite verändern ihr erstes Argument direkt. Übergeben Sie ein neues dict, wenn das Original unverändert bleiben muss.

{{ $base := dict }}{{ $r := mergeOverwrite $base .Values.extra }}

Ein Muster für geschichtete Standardwerte

Ein gängiges Muster besteht darin, mit einer Standardwerte-Map zu beginnen und anschließend Benutzerwerte darüberzulegen, sodass nicht gesetzte Schlüssel sicher auf die Standardwerte zurückfallen.

{{ $merged := mergeOverwrite (dict "port" 80) .Values.service }}

Zusammengeführte Werte lesen

Nach dem Zusammenführen behandeln Sie das Ergebnis wie jede andere Map und lesen Schlüssel wie gewohnt mit dot oder der index-Funktion aus.

{{ $merged.port }}

Das Ergebnis serialisieren

Um eine zusammengeführte Struktur als YAML auszugeben, leiten Sie sie durch toYaml und nindent, damit der Block korrekt eingerückt wird.

{{ toYaml $merged | nindent 4 }}

Einen Schlüssel auswählen

Wenn ein Schlüsselname dynamisch ist oder ungewöhnliche Zeichen enthält, greifen Sie mit der Funktion index auf die Map zu, statt den Punktzugriff zu verwenden.

{{ index $merged "log-level" }}

Kurztest

Kurztest zur Überschreibungsrichtung.

Zusammenfassung

Sie haben dict zum Erstellen von Maps kennengelernt, merge zum Beibehalten von Zielschlüsseln und mergeOverwrite, damit spätere Werte gewinnen – allesamt mit tiefen Merges. 🎉

Häufig gestellte Fragen

Ist die Lektion „Tiefes Zusammenführen mit mergeOverwrite und dict“ kostenlos?

Ja — der vollständige Text von „Tiefes Zusammenführen mit mergeOverwrite und dict“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Helm Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Helm Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Tiefes Zusammenführen mit mergeOverwrite und dict“?

Setzen Sie strukturierte Werte programmgesteuert zusammen. Du übst Helm Academy 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 Helm Academy zu starten?

Keine Vorkenntnisse erforderlich. Helm Academy 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 1 von 4.

Wie lange dauert die Lektion „Tiefes Zusammenführen mit mergeOverwrite und dict“?

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 Helm Academy-Lektion Code schreiben und ausführen?

Ja. Jede Helm Academy-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

  1. Tiefes Zusammenführen mit mergeOverwrite und dict
  2. tpl: Strings aus Values rendern
  3. Dateien mit range über .Files.Glob durchlaufen
  4. fail und benutzerdefinierte Validierungsprüfungen
← Zurück zu Helm Academy