Golang模板使用自定义函数

  功能:通过模板使用Go中自定义函数(将邮箱字段的@符号替换为at);

  遇见问题:在控制台打印模板输出时字符可以正常替换,但通过浏览器访问渲染模板时无法找到该自定义函数;

  模板使用自定义函数步骤:

  1. 通过 template.New(`PathToHtml`) 分配一个Html模板;
  2. 调用 template.Funcs(template.FuncMap{"参数名":函数名}) 将实参map的元素添加到模板的函数map中。注意:必须在解析模板之前调用它;
  3. 解析模板:template.ParseFiles(`PathToHtml`)  注意:template.New() 函数中参数名字要和 template.ParseFiles() 函数的文件名要相同,要不然就会报错:"" is an incomplete template;
  4. 最后通过 template.ExecuteTemplate(wr io.Writer, name string, data interface{}) error 使用名为name的t关联的模板产生输出;

  main.go

 

package main

type Friend struct {
	Fname string
}

type Person struct {
	UserName string
	Emails   []string // 未导出的字段首字母是小写的
	Friends  []*Friend
}

func EmailDealWith(args ...interface{}) string {

	ok := false

	var s string
	if len(args) 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值