【发布时间】:2014-11-26 22:14:17
【问题描述】:
如何在不迭代的情况下使用变量键查找地图的值?
因此可以使用$x.key1 在变量映射$x 上查找常量键,但是可以使用amap.$key 吗?
【问题讨论】:
标签: go templates go-templates
如何在不迭代的情况下使用变量键查找地图的值?
因此可以使用$x.key1 在变量映射$x 上查找常量键,但是可以使用amap.$key 吗?
【问题讨论】:
标签: go templates go-templates
你使用index函数:
{{index .Amap "key1"}}
index
Returns the result of indexing its first argument by the
following arguments. Thus "index x 1 2 3" is, in Go syntax,
x[1][2][3]. Each indexed item must be a map, slice, or array.
【讨论】:
{{template "name" how_to_index_here?}}的一部分
{{template "name" (index .Amap "key1")}} 应该注意的是,直接从 dot 访问映射键的更简单的语法也可以:{{template "name" .Amap.key1}}
{{index .Amap "key1"}}.Myfield
{{ with (index .Amap "key1") }}{{ .Myfield }}{{ end }}
{{ with (index .Amap "key-with-hyphens") }} {{ .Myfield }} {{ end }}
更简单的方法是:{{.Amap.key1}}。但是,这仅在密钥是字母数字时才有效。如果没有,您需要使用index 访问它。
- The name of a key of the data, which must be a map, preceded
by a period, such as
.Key
The result is the map element value indexed by the key.
Key invocations may be chained and combined with fields to any
depth:
.Field1.Key1.Field2.Key2
Although the key must be an alphanumeric identifier, unlike with
field names they do not need to start with an upper case letter.
Keys can also be evaluated on variables, including chaining:
$x.key1.key2
【讨论】: