Как вывести карту в шаблоне в синтаксисе Go?

# #go #templates

Вопрос:

например, в go у меня есть x := map[string]bool{"1":true,"2":true}
Как я могу распечатать его на go.tmpl, используя встроенный пакет шаблонов?

 // go.tmpl
{{x}}
 

после рендеринга я хочу, чтобы это было похоже

 x := map[string]bool{"1":true,"2":true}
 

Есть ли у меня какие-то подходы?

Ответ №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