如何从地图上获取钥匙

时间:2018-12-21 15:13:42

标签: go go-templates consul-template

我正在研究go模板。在.中有一些映射,只要知道密钥,我就知道如何获取值。

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

如何从模板内部获取密钥名称?我希望也许像

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

2 个答案:

答案 0 :(得分:0)

@Adrian评论:

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

但是仅从range documentation

很难弄清楚

答案 1 :(得分:0)

由于问题被标记为 consul-template... Consul/Vault 模板的语法是(给定 .Data 是地图):

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

当键名很复杂(比如包含点)并且 {{ .Data.complex.key.name }} 被解释为访问嵌套字段时,这很有用。