0Pricing
DevOps Bootcamp · Lección

Fusión profunda con mergeOverwrite y dict

Componga valores estructurados mediante programación

Fusión profunda con mergeOverwrite y dict es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.

Crear mapas en las plantillas

A veces necesita construir un mapa dentro de una plantilla. La función dict crea uno a partir de pares alternos de claves y valores.

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

Por qué combinar mapas

A menudo tiene valores predeterminados del chart además de sobrescrituras del usuario, y quiere un único mapa combinado. Eso es exactamente lo que produce merge.

Merge superficial

La función merge copia las claves de los mapas de origen en un destino, pero conserva el valor del destino cuando una clave ya existe.

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

merge prioriza el destino

Con merge, el primer argumento gana cuando hay una clave en conflicto, por lo que resulta ideal cuando la entrada del usuario debe sobrescribir sus valores predeterminados.

Conozca mergeOverwrite

La función mergeOverwrite hace lo contrario: los mapas de origen posteriores sobrescriben el destino y superponen sus valores.

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

Profundo, no superficial

Ambos asistentes combinan los valores de forma recursiva: los mapas anidados se combinan clave por clave en lugar de reemplazar todo el subárbol.

Advertencia sobre la mutación

Tenga cuidado: merge y mergeOverwrite modifican su primer argumento directamente. Pase un dict nuevo si necesita conservar el original intacto.

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

Un patrón de valores predeterminados por capas

Un patrón habitual consiste en empezar con un dict de valores predeterminados y superponer después los valores del usuario, para que las claves no establecidas recurran a valores seguros.

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

Lea los valores combinados

Una vez combinados, puede tratar el resultado como cualquier mapa y obtener sus claves con dot o con la función index, como de costumbre.

{{ $merged.port }}

Serialice el resultado

Para emitir una estructura combinada como YAML, pásela mediante una tubería a toYaml y nindent para que el bloque tenga la sangría correcta.

{{ toYaml $merged | nindent 4 }}

Extraiga una sola clave

Cuando el nombre de una clave es dinámico o contiene caracteres especiales, acceda al mapa con la función index en lugar de usar el acceso mediante punto.

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

Comprobación rápida

Comprobación rápida de la dirección de sobrescritura.

Repaso

Ha conocido dict para crear mapas, merge para conservar las claves del destino y mergeOverwrite para permitir que ganen los valores posteriores; todas estas operaciones combinan los mapas en profundidad. 🎉

Preguntas frecuentes

¿La lección «Fusión profunda con mergeOverwrite y dict» es gratis?

Sí — el texto completo de «Fusión profunda con mergeOverwrite y dict» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Qué aprenderé en «Fusión profunda con mergeOverwrite y dict»?

Componga valores estructurados mediante programación Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar DevOps Bootcamp?

No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Fusión profunda con mergeOverwrite y dict»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?

Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Fusión profunda con mergeOverwrite y dict
  2. tpl: renderizar cadenas a partir de valores
  3. Recorrer archivos con range sobre .Files.Glob
  4. fail y validaciones personalizadas
← Volver a DevOps Bootcamp