我想使用string.ToUpper
在golang模板中将字符串大写:
{{ .Name | strings.ToUpper }}
但这是行不通的,因为
strings
不是我数据的属性。我无法导入
strings
软件包,因为警告我未使用它。这里的脚本:
http://play.golang.org/p/7D69Q57WcN
最佳答案
只需使用这样的FuncMap(playground)将ToUpper函数注入(inject)模板即可。
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())
}
关于string - Golang模板: Use pipe to uppercase string,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21031108/