您可以在模板中注册一个“ dict”函数,该函数可用于将多个值传递给模板调用。调用本身将如下所示:
{{template "userlist" dict "Users" .MostPopular "Current" .CurrentUser}}小“ dict”帮助程序的代码(包括将其注册为模板功能)在此处:
var tmpl = template.Must(template.New("").Funcs(template.FuncMap{ "dict": func(values ...interface{}) (map[string]interface{}, error) { if len(values)%2 != 0 { return nil, errors.New("invalid dict call") } dict := make(map[string]interface{}, len(values)/2) for i := 0; i < len(values); i+=2 { key, ok := values[i].(string) if !ok { return nil, errors.New("dict keys must be strings") } dict[key] = values[i+1] } return dict, nil },}).ParseGlob("templates/*.html")


