为了账号安全,请及时绑定邮箱和手机立即绑定

在 Go 文本模板中遍历地图

在 Go 文本模板中遍历地图

Go
慕侠2389804 2021-06-03 06:02:46
我有一个map看起来像这样的值:vals := map[string]interface{}{"foo": 1, "bar": 2, "baz": 7}data := map[string]interface{}{"bat": "obj", "values": vals}我的模板应该是什么样子来生成以下字符串(注意正确的逗号用法)?SET obj.foo=1, obj.bar=2, obj.baz=7我以此作为我的模板开始:SET {{range $i, $v := .values}} {{.bat}}.{{$i}}={{$v}},{{end}}但这只是打印出来SET即使这确实有效,逗号也是不正确的。然后我尝试使用自定义函数来格式化地图,但我无法让模板调用我的函数。以下似乎都不起作用:SET {{.MyFunction .values}}SET {{call .MyFunction .values}}SET {{call MyFunction .values}}当 MyFunction 被定义为:func MyFunction(data map[string]interface{}) string {  fmt.PrintLn('i was called!')  return "foo"}我正在使用如下所示的辅助函数执行模板:func useTemplate(name string, data interface{}) string {  out := new(bytes.Buffer)  templates[name].Execute(out, data)  return string(out.Bytes())}
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 195 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信