如何在golangs模板系统中转义大括号?
假设我要打印{{Hello World}}
:
var buf bytes.Buffer
// tpl := template.Must(template.New("").Parse(`{{ print "{{Hello World}}"}}`)) // this is working
tpl := template.Must(template.New("").Parse(`\{\{Hello World\}\}`)) // this is not
if err := tpl.Execute(&buf, nil); err != nil {
panic(err)
}
if buf.String() != "{{Hello World}}" {
panic("Unexpected")
}
答案 0 :(得分:4)
您可以使用原始字符串常量。
tpl := template.Must(template.New("").Parse("{{`{{Hello World}}`}}"))