package main import ( "os" "strings" "text/template" ) var TMPL = strings.Trim(` {{- /* []string expected */}} {{- define "sasakuna"}} {{- range $i, $text := . }} {{$i}}: {{$text}} {{- end }} {{- end }} `, "\n") func main() { tmpl := template.Must(template.New("").Parse(TMPL)) tmpl = template.Must(tmpl.Parse(`{{ template "sasakuna" .}}`)) tmpl.Execute(os.Stdout, []string{"sasa", "kuna"}) // Output: // 0: sasa // 1: kuna }