golang-如何在模板中分割字符串

leiyonglin

我尝试使用template.FuncMap但出现紧急错误

panic: runtime error: invalid memory address or nil pointer dereference

码:

type Article struct{
    Id int
    Title string
    Tags  string
}

var (
    tplFuncMap template.FuncMap 
)

func main() {
    article := &Article{Id:1, Title:"hello world", Tags:"golang,javascript"}
    tplFuncMap =  make(template.FuncMap)
    tplFuncMap["Split"] = Split
    tpl, _ := template.ParseFiles("a.html", "b.html")
    tpl = tpl.Funcs(tplFuncMap)
    tpl.Execute(os.Stdout, article)
}

func Split(s string, d string) []string {
    arr := strings.Split(s, d)
    return arr
}

a.html

//i want to split tags and range
{{$arr := Split .Tags ","}}
{{range $k, $v := $arr}}
    <a href="{{$v}}">{{$v}}</a>
{{end}}

谢谢。

泰勒·埃吉托(Tyler Egeto)

您正在忽略所返回的错误template.ParseFiles,它可能会告诉您您的问题。ParseFiles可能会引发错误,因为Split解析模板时未定义函数永远不要忽略错误。

编辑

要使其工作,请执行以下操作:

tplFuncMap =  make(template.FuncMap)  
tplFuncMap["Split"] = Split  
tmpl, err = template.New("").Funcs(tplFuncMap).ParseFiles("a.html", "b.html")

区别在于在FuncMap解析模板之前已定义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在SWIG模板中分割字符串?

来自分类常见问题

如何在GoLang中比较字符串?

来自分类Dev

如何在Golang中将“字符串指针”转换为字符串?

来自分类Dev

如何使golang执行字符串

来自分类Dev

如何在PHP中分割字符串?

来自分类Dev

如何在Swift中分割字符串

来自分类Dev

如何在Thymeleaf中分割字符串

来自分类Dev

如何在Inno Setup中分割字符串

来自分类Dev

如何在Bash中分割字符串?

来自分类Dev

如何在抽引引理中分割字符串?

来自分类Dev

如何在Julia中分割字符串?

来自分类Dev

如何在列表中分割字符串?

来自分类Dev

如何在Java中分割特定的字符串

来自分类Dev

如何在PowerShell中分割字符串

来自分类Dev

如何在java中分割字符串URL

来自分类Dev

如何在LESS中分割字符串?

来自分类Dev

如何在脚本中分割字符串

来自分类Dev

如何在Java中分割字符串(带参数)

来自分类Dev

如何在JSP中分割字符串

来自分类Dev

如何在Powershell中分割不规则字符串?

来自分类Dev

如何在angularjs中分割字符串?

来自分类Dev

Golang用空换行符分割字符串

来自分类Dev

Golang模板:使用管道将大写字符串

来自分类Dev

如何在golang中替换字符串中的所有字符

来自分类Dev

我应该如何在Golang中将切片转换为字符串?

来自分类Dev

如何在Golang的Elasticsearch文档(已索引)中搜索字符串?

来自分类Dev

如何在Golang中将网络客户端的IP转换为字符串?

来自分类Dev

如何在golang中将字符串从接口转换为[] string?

来自分类Dev

如何在golang中的字符串中获取错误消息?