假设我有这样的数据结构:
type Foo struct {
Bar []struct {
FooBar string
}
}
我填充它使得Bar有3个元素。现在,使用template
库,我如何访问该片段中的第3个元素FooBar
?我试过以下但没有成功:
{Foo.Bar[2].FooBar}
{Foo.Bar.2.FooBar}
现在,我知道我可以使用{.repeated section Foo.Bar} {FooBar} {.end}
,但这给了我每个元素的foobar值,而不仅仅是特定的元素。我用谷歌搜索并询问irc无济于事......
答案 0 :(得分:3)
使用新的text/template
或html/template
:
package main
import (
"fmt"
"text/template" // or html/template
"os"
)
func main() {
tmpl, err := template.New("name").Parse("{{index . 0}}")
if err != nil {
fmt.Println(err)
return
}
tmpl.Execute(os.Stdout, []string{"yup, that's me", "not that!"})
}
答案 1 :(得分:1)
我很确定这是不可能的。也许有一种方法可以重构您的数据,使其成为所有命名字段。
或者只是在实际应用程序中编写更多逻辑。数组索引有点超出了我想的模板包的范围。