I try to use template.FuncMap but there are panic error
panic: runtime error: invalid memory address or nil pointer dereference
code:
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}}
Thanks.