Advertisement

Golang模版使用自定义函數

阅读量:

功能:借助模板机制,在Go语言中调用自定义函数,实现将邮箱字段中的@符号转换为at的操作;

遇到的问题:当在控制台输出模板内容时,字符替换操作能够正常执行,然而通过浏览器访问并渲染模板时,却无法识别该自定义函数的存在;

模板中调用自定义函数的具体步骤如下:

  1. 利用 template.New(PathToHtml) 创建一个用于处理HTML的模板对象;
  2. 使用 template.Funcs(template.FuncMap{"参数名":函数名}) 方法,将实际参数对应的映射关系注入到模板的函数集合中。需要注意的是,此操作必须在解析模板之前完成;
  3. 执行模板解析过程:template.ParseFiles(PathToHtml)。在此过程中需特别注意,template.New() 函数所传入的参数名称应当与 template.ParseFiles() 函数指定的文件名保持一致,否则将引发错误提示:“"" is an incomplete template”;
  4. 最终通过调用 template.ExecuteTemplate(wr io.Writer, name string, data interface{}) error 方法,使用名称为name的模板生成输出结果。

main.go

复制代码
 package main

全部评论 (0)

还没有任何评论哟~