Golang 是否有一种“safeTemplateVariable”函数?

最好用一个例子来问这个问题:

首先,让我们在 Golang 中声明一个变量:

{{ $html := "<b>hi!</b>" }}

如果我们尝试输出{{ $html }}输出将是:

输入:
{{ $html }}
输出:
<b>hi!</b>

如果您传递该safeHTML函数,html 将进行计算并且输出将是:

输入:
{{ $html | safeHTML }}
输出:
hi!

有没有办法解析 Golang 变量?像这样:
如果我试试这个:
{{ $var1 := "it's me!" }}
{{ $var2 := "hey guys, {{ $var1 }}" }}

这会发生:
输入:
{{ $var2 }}
输出:
"hey guys, {{ $var 1 }}"

但我希望$var1评估价值,如下所示:
"hey guys, it's me!"

对不起,如果我不够清楚,我不是以英语为母语的人

谢谢您的帮助!


慕村225694
浏览 112回答 2
2回答

皈依舞

你可以做 {{ $var2 := (printf "hey guys, %v" $var1) }}

慕工程0101907

“安全”是 Go 中 HTML 模板的默认模式。如果您有一个带有特殊 HTML 字符的变量,它们会在输出时被转义,从而使它们完全安全。不过,这与剥离 HTML 标记不同,您的示例似乎是这样做的。如果你想去除 HTML 标签,而不是转义 HTML 字符,你需要编写自己的函数。如果要禁用安全行为并输出原始 HTML,请使用template.HTMLtype。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go