HTML模板中的未定义函数

I can't pass a custom function to the HTML template with the following syntax/steps:

t, err := template.ParseFiles("name.tpl")
if err != nil {
    return
}

err = t.Funcs(template.FuncMap{"add": add}).Execute(w, nil)
if err != nil {
    return
}

...
...
...

func add(a int8, b int8) int8 {
    return a + b
}

Needed function is add, there are no errors during the compilation, but while trying to render HTML template I get an error function "add" not defined. What am I missing?

P.S. please don't offer other ways of parsing template, with something like template.New... and so on. I wish to use THIS syntax.

Use this function:

func parseFiles(funcs template.FuncMap, filenames ...string) (*template.Template, error) {
    return template.New(filepath.Base(filenames[0])).Funcs(funcs).ParseFiles(filenames...)
}

Call it like this:

t, err := parseFiles(template.FuncMap{"add": add}, "name.tpl")
if err != nil {
    return
}
err = t.Execute(w, nil)

Run it on the Go Playground.