在 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 }}
`)
在 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 }}
`)