英文:
How to output a map in a template in Go syntax?
问题
例如,在Go语言中,我有以下代码:x := map[string]bool{"1":true,"2":true}
我想要将它打印到go.tmpl文件中,使用内置的template包。
{{x}}
渲染后,我希望它的输出如下:
x := map[string]bool{"1":true,"2":true}
我有一些方法可以实现吗?
英文:
for example, in go I have x := map[string]bool{"1":true,"2":true}
How can I print it to go.tmpl, using the built-in template package?
// go.tmpl
{{x}}
after render, I want it to be like
x := map[string]bool{"1":true,"2":true}
Do I have some approaches?
答案1
得分: 1
s := `{{x}}`
x := map[string]bool{"1": true, "2": true}
t, err := template.New("t").Funcs(template.FuncMap{
"x": func() string { return fmt.Sprintf("x := %#v", x) },
}).Parse(s)
if err != nil {
panic(err)
}
if err := t.Execute(os.Stdout, nil); err != nil {
panic(err)
}
https://play.golang.org/p/Pww7-PFIWXJ
英文:
s := `{{x}}`
x := map[string]bool{"1": true, "2": true}
t, err := template.New("t").Funcs(template.FuncMap{
"x": func() string { return fmt.Sprintf("x := %#v", x) },
}).Parse(s)
if err != nil {
panic(err)
}
if err := t.Execute(os.Stdout, nil); err != nil {
panic(err)
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论