there is no built-in way to do what you want to achieve. See the arguments on what you can do with the arguments and the pipeline.
But you could easily define your own function to achieve your goal:
package main
import (
"html/template"
"os"
)
func main() {
tmpl := `
{{ $slice := mkSlice "a" 5 "b" }}
{{ range $slice }}
{{ . }}
{{ end }}
`
funcMap := map[string]interface{}{"mkSlice": mkSlice}
t := template.New("demo").Funcs(template.FuncMap(funcMap))
template.Must(t.Parse(tmpl))
t.ExecuteTemplate(os.Stdout, "demo", nil)
}
func mkSlice(args ...interface{}) []interface{} {
return args
}
Playground.