猿问

将数组的索引传递给模板

如何将数组的索引传递给模板?我知道我可以这样做来访问第一个元素:

{{ with index . 0 }}

但我需要做这样的事情:

{{ template "mytemp" index . 0 }}

这似乎不起作用。我也尝试过这个但不起作用:

{{ with index . 0 }}
  {{ template "mytemp" . }}
{{ end }}

我似乎不知道如何实现这一目标。


潇潇雨雨
浏览 101回答 2
2回答

繁花如伊

您需要该操作,这是一个工作示例:package mainimport (    "log"    "os"    "text/template")type Inventory struct {    Material []string    Count    uint}func main() {    sweaters := Inventory{[]string{"wool"}, 17}    tmpl, err := template.New("test").Parse("{{.Count}} items are made of {{index .Material 0}}")    if err != nil {        log.Fatal(err)    }    err = tmpl.Execute(os.Stdout, sweaters)    if err != nil {        log.Fatal(err)    }}去游乐场

郎朗坤

这是另一个例子:package mainimport (    "os"    "text/template")func main() {    data:=map[string]interface{}{ "item": []interface{}{"str1","str2"}}    tmpl, _ := template.New("test").Parse(`Some text{{define "mytp"}}{{.}}{{end}}{{template "mytp" index .item 0}}`)    tmpl.Execute(os.Stdout, data)}
随时随地看视频慕课网APP

相关分类

Go
我要回答