在 Golang 模板中将字节数组转换为字符串

Convert byte array to string in Golang template

在 Go 模板中,如何将字节数组转换为字符串?当我打印它时,我正在访问的上下文值之一如下所示: [34 102 111 111 34]

对应"foo".

当我打印值的类型时(通过 printf "%T" .MyValue),我看到 json.RawMessage,这是一个 []byte.

您可以使用内置的 printf 模板函数和 %s 动词。

{{ printf "%s" .MyValue }}

如果出于某种原因想避免 printf,您也可以添加自己的函数。

t, err := template.New("t").Funcs(template.FuncMap{
    "btoa": func(b []byte) string { return string(b) }, 
}).Parse(`

{{ btoa .MyValue }}

`)