我有一个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
提交
取消