내장 기능이 없습니다. 당신은지도를 생성하는 기능을 추가하고 아이 템플릿에 그것을 사용할 수 있습니다
func argsfn(kvs ...interface{}) (map[string]interface{}, error) {
if len(kvs)%2 != 0 {
return nil, errors.New("args requires even number of arguments.")
}
m := make(map[string]interface{})
for i := 0; i < len(kvs); i += 2 {
s, ok := kvs[i].(string)
if !ok {
return nil, errors.New("even args to args must be strings.")
}
m[s] = kvs[i+1]
}
return m, nil
}
은 다음과 같이 템플릿에 그것을 기능을 추가
t := template.Must(template.New("").Funcs(template.FuncMap{"args": argsfn}).Parse(......
이처럼 사용
{{template "image_row" args "row" . "a" 5}}{{end}}
{{define "image_row"}}
{{$.row}} {{$.a}}
{{end}}
Run it in the playground
지도를 사용할 때의 이점은 인수가 "na med ". 다른 대답에서 설명한대로 슬라이스를 사용하면 코드가 훨씬 간단해진다는 이점이 있습니다.
제발, 명확히 : 귀하의 질문은'텍스트/템플릿'에 대해 무엇입니까? 왜냐하면'text/tempate'는 중첩 된 템플리트 정의를 허용하기 때문입니다. – Ingaz