使用 text/template 中的扩展函数
package main
import (
"os"
"text/template"
)
type Person struct {
Name string
Age int
}
func main() {
t := template.Must(
template.New("test").Funcs(
template.FuncMap{
"lt": func(a, b int) bool { return a < b },
"eq": func(a, b int) bool { return a == b },
"gt": func(a, b int) bool { return a > b },
},
).Parse(
"{{.Name}}:{{ if .Age | lt 5 }} 5 < age.{{else}} 5 > age.{{end}}\n",
),
)
t.Execute(os.Stdout, &Person{
Name: "lulu",
Age: 4,
})
t.Execute(os.Stdout, &Person{
Name: "lili",
Age: 6,
})
// output:
// lulu: 5 > age.
// lili: 5 < age.
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。