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

use*_*706 1 go go-templates

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

这对应于"foo".

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

mko*_*iva 8

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

{{ printf "%s" .MyValue }}
Run Code Online (Sandbox Code Playgroud)

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

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

{{ btoa .MyValue }}

`)
Run Code Online (Sandbox Code Playgroud)