为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Go 模板中访问数组第一个索引的值

如何在 Go 模板中访问数组第一个索引的值

Go
叮当猫咪 2023-04-17 16:44:33
所以我在使用它时有 html 模板,我得到了对象:<div>Foobar {{ index .Doc.Users 0}}</div>输出:<div>Foobar {MyName my@email.com}</div>我只想使用Name我尝试过多次迭代但没有成功的领域:{{ index .Doc.Users.Name 0}}{{ index .Doc.Users 0 .Name}}{{ .Name index .Quote.Clients 0}}...仅获取数组中第一个元素的.Name字段 ( )的正确语法是什么?.Doc.Users[0].Name
查看完整描述

1 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

只需对表达式进行分组并应用.Name选择器:


<div>Foobar {{ (index .Doc.Users 0).Name }}</div>

这是一个可运行、可验证的示例:


type User struct {

    Name  string

    Email string

}


t := template.Must(template.New("").Parse(

    `<div>Foobar {{ (index .Doc.Users 0).Name }}</div>`))


m := map[string]interface{}{

    "Doc": map[string]interface{}{

        "Users": []User{

            {Name: "Bob", Email: "bob@myco.com"},

            {Name: "Alice", Email: "alice@myco.com"},

        },

    },

}


fmt.Println(t.Execute(os.Stdout, m))

输出(在Go Playground上尝试):


<div>Foobar Bob</div><nil>

(<nil>末尾是 返回的错误值template.Execute(),表明执行模板没有错误。)


查看完整回答
反对 回复 2023-04-17
  • 1 回答
  • 0 关注
  • 282 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信