template plantillas not golang equal conditions go go-templates

go - not - ¿Cómo escapo los delimitadores "{{" y "}}" en las plantillas Ir?



plantillas golang (4)

En Revel, hay una forma de manejarlo:

En /conf/app.conf, agregue esta línea:

template.delimiters = "[[]]"

Utilizará [[]] en lugar de usar el valor predeterminado {{}}, también puede usar:

template.delimiters = "{{{}}}"

Entonces, para revel, usa {{{}}}, para angularJS, usa {{}}

Estoy usando AngularJS como biblioteca front-end JS, con plantillas Go dentro de Revel framework para generar el marcado en el back-end.

Pero tanto Go como Angular usan {{ y }} para delimitadores en sus plantillas. ¿Cómo puedo escapar de ellos en Go para pasarlos a AngularJS?


No sé cómo escapar, pero puedes elegir un delimitador diferente usando Delims :

func (t *Template) Delims(left, right string) *Template

De acuerdo con la lista de correo , esta es probablemente la mejor opción. El argumento era que si escapabas, tus plantillas serían difíciles de leer, por lo que probablemente sería mejor cambiar el delimitador en lugar de intentar hackearlo.


Una solución simple sería usar

{{`{{Your.Angular.Data}}`}}


{{"{{"}} {{"}}"}}

produce

{{ }}