我想在 Go 语言模板中使用 string.ToUpper
将一个字符串转换为大写:
{{ .Name | strings.ToUpper }}
但这样行不通,因为strings
不是我数据的一个属性。
我无法导入strings
包,因为它会警告我它没有被使用。
以下是脚本链接: http://play.golang.org/p/7D69Q57WcN
我想在 Go 语言模板中使用 string.ToUpper
将一个字符串转换为大写:
{{ .Name | strings.ToUpper }}
但这样行不通,因为strings
不是我数据的一个属性。
我无法导入strings
包,因为它会警告我它没有被使用。
以下是脚本链接: http://play.golang.org/p/7D69Q57WcN
只需像这样使用 FuncMap ( playground ),将 ToUpper 函数注入您的模板中。
import (
"bytes"
"fmt"
"strings"
"text/template"
)
type TemplateData struct {
Name string
}
func main() {
funcMap := template.FuncMap{
"ToUpper": strings.ToUpper,
}
tmpl, _ := template.New("myTemplate").Funcs(funcMap).Parse(string("{{ .Name | ToUpper }}"))
templateDate := TemplateData{"Hello"}
var result bytes.Buffer
tmpl.Execute(&result, templateDate)
fmt.Println(result.String())
}
text-transform: capitalize
替代 - 这甚至是语言感知的。 - djd