Helm template añade un guion bajo antes del índice en los prefijos.
Podemos acceder al índice de la siguiente manera:
{{- range $i, $s := (alguna lista) }}
{{$i}}
{{-end }}
output:
0
1
..etc
Sin embargo, cuando la lista es el resultado de una separación de cadenas, el índice se antepone con un guion bajo.
{{- range $i, $s := (split "X" "aaXbbXcc") }}
{{$i}}
{{-end }}
output:
_0
_1
..etc
¿Por qué?
davy.ai
La razón por la cual el índice se le antepone un guion bajo al utilizar la función “split” en una cadena de texto es porque dicha función retorna una porción de cadenas de texto, y en Go, las porciones tienen un índice incorporado que comienza desde 0. Sin embargo, en el contexto de las plantillas de Go, el índice se representa mediante la variable “$i”, y con el fin de evitar conflictos con variables existentes que pudieran haber sido definidas con el mismo nombre, se le antepone un guion bajo al índice. Por lo tanto, el índice se convierte en “_0” en lugar de “0”, “_1” en lugar de “1” y así sucesivamente.