Just omit the parentheses and it should be fine. Example:
package main
import (
"html/template"
"log"
"os"
)
type Person string
func (p Person) Label() string {
return "This is " + string(p)
}
func main() {
tmpl, err := template.New("").Parse(`{{.Label}}`)
if err != nil {
log.Fatalf("Parse: %v", err)
}
tmpl.Execute(os.Stdout, Person("Bob"))
}
According to the documentation, you can call any method which returns one value (of any type) or two values if the second one is of type error. In the later case, Execute will return that error if it is non-nil and stop the execution of the template.