在golang中执行不带引号的模板

在golang中执行不带引号的模板,go,template-engine,Go,Template Engine,我想用noescape执行模板,但现在不支持noescape 有什么建议吗?或者我必须使用另一个模板引擎吗?谢谢大家! 此处代码:建议您将安全Javascript存储在类型中: 输入JS字符串 JS封装了一个已知的安全ECMAScript 5表达式, 例如,(x+y*z())。模板作者负责 确保类型化表达式不会破坏预期的优先级 并且在传递消息时不存在语句/表达式歧义 类似于“{foo:bar()}\n'foo'”的表达式,这两个表达式都是有效的 表达式和具有完全不同含义的有效程序 因此,您需要对

我想用
noescape
执行模板,但现在不支持
noescape

有什么建议吗?或者我必须使用另一个模板引擎吗?谢谢大家!


此处代码:

建议您将安全Javascript存储在类型中:

输入JS字符串

JS封装了一个已知的安全ECMAScript 5表达式, 例如,
(x+y*z())
。模板作者负责 确保类型化表达式不会破坏预期的优先级 并且在传递消息时不存在语句/表达式歧义 类似于“{foo:bar()}\n'foo'”的表达式,这两个表达式都是有效的 表达式和具有完全不同含义的有效程序

因此,您需要对代码进行的唯一更改是:

type Var struct {
    Name  template.JS
    Value template.JS
}

对@ANisus答案的一点补充。还有一个类似的HTML(和CSS)包装器。每当您尝试将HTML字符串传递到模板中时,它都会被引用。因此,为了正确呈现安全HTML,请使用:

yourHTML:=“嗨!”
yourWrappedHTML:=template.HTML(yourHTML)
//将后者传递到模板中

谢谢!你是救命恩人!