Golang 自定义函数模版
2019-11-16 06:00:01
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 }, }