Golang 自定义函数模版
2019-11-16 06:00:01 +0000 UTC
Art
系统自带模版函数太简单了,不足以应付日常应用,比如连基本的加减乘除算法都没有,不能都算好了带到模版吧,数据结构就错乱了。一个好的码农肯定不会这么做的,你是这样的吗。
三种场景介绍
- html内容从程序带到模版会显示什么样呢,先看下图
程序中写的是<p>12345abc</p>,输出到浏览器显示后没有转译,怎么解决呢?
funcMap := template.FuncMap{
//把普通文本转化为html格式
"html": func(content string) template.HTML {
return template.HTML(content)
},
}
完整代码
funcMap := template.FuncMap{
//把普通文本转化为html格式
"html": func(content string) template.HTML {
return template.HTML(content)
},
}
t, _ := template.ParseFiles("index.html")
t.Funcs(funcMap)
content:="<p>12345abc</p>"
t.Execute(w, content)
- 加减乘除基本函数
funcMap := template.FuncMap{
//加法函数
"add": func(a1, a2 int) int {
return a1 + a2
},
//减法函数
"sub": func(a1, a2 int) int {
return a1 - a2
},
//乘法函数
"multi": func(a1, a2 float32) float32 {
return a1 * a2
},
//除法函数
"div": func(a1, a2 float32) float32 {
return a1 / a2
},
}