【问题标题】:Go template - syntax for rangeGo 模板 - 范围的语法
【发布时间】:2021-09-16 17:24:17
【问题描述】:

在 Go 模板中,我有这样的地图设置:

{{$key}}map := make(map[string]interface{})

我想用这个来遍历地图:

{{ range $mapKey, $mapValue := {{$key}}map}}

我收到了这个错误:

unexpected "{" in range

看起来它不允许在另一个 {{}} 中嵌套 {{}}。有没有办法解决这个问题???

【问题讨论】:

    标签: go go-templates


    【解决方案1】:

    您不能使用模板引擎本身生成要在模板中使用的变量名。您似乎需要多张地图,每个$key 一张。所以,使用地图地图:

    m := make(map[string]map[string]interface{})
    

    m[key] 给出了键的映射。

    那么你可以这样做:

    {{ range $mapKey, $mapValue := (index $.m $.key)}}
    ...
    {{end}}
    

    【讨论】:

    • 感谢您的回答,我会记住这一点。我再次查看了我的代码,实际上我不必这样做。
    猜你喜欢
    • 2014-09-30
    • 1970-01-01
    • 2018-12-05
    • 2013-07-04
    • 2017-03-12
    • 2023-03-19
    • 2016-11-06
    • 1970-01-01
    • 2013-03-25
    相关资源
    最近更新 更多