【发布时间】:2022-01-06 12:09:28
【问题描述】:
在 Go 模板中,如何将字节数组转换为字符串?当我打印它时,我正在访问的上下文值之一如下所示:
[34 102 111 111 34]
这对应于"foo"。
当我打印值的类型时(通过执行printf "%T" .MyValue),我看到json.RawMessage,即[]byte。
【问题讨论】:
标签: go go-templates
在 Go 模板中,如何将字节数组转换为字符串?当我打印它时,我正在访问的上下文值之一如下所示:
[34 102 111 111 34]
这对应于"foo"。
当我打印值的类型时(通过执行printf "%T" .MyValue),我看到json.RawMessage,即[]byte。
【问题讨论】:
标签: go go-templates
您可以使用内置的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 }}
`)
【讨论】: