Как получить ключ с карты

Я работаю над го шаблона. Имея некоторую карту в . Я знаю, как получить значение, пока я знаю ключ.

"Map value: {{ printf "%s" .key1 }}"

Как получить имя ключа из шаблона? Я ожидаю, может быть, что-то вроде

"Map key: {{ printf "%s" (keys .)[0] }}"

2 ответа

Решение

Как заметил @Adrian:

{{ range $key, $val := . }}
key: {{ $key }}; value: {{ $val }}
{{ end }}

Но это было трудно понять, просто из документации диапазона

Поскольку вопрос помечен consul-template... синтаксис шаблонов Consul / Vault (указан .Data это карта):

      {{ index .Data "complex.key.name" }}

Это полезно, когда имя ключа сложное (например, содержит точки) и {{ .Data.complex.key.name }} интерпретируется как доступ к вложенным полям.

Другие вопросы по тегам