首页  >  文章  >  后端开发  >  如何访问 Go 模板中第一个数组元素的名称字段?

如何访问 Go 模板中第一个数组元素的名称字段?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-07 13:35:03923浏览

How to Access the Name Field of the First Array Element in Go Templates?

在 Go 模板中访问第一个数组元素的 .Name 字段

在 HTML 模板中,你可能会遇到需要访问的情况数组的第一个索引的值。然而,仅仅使用“索引”函数可能还不够,尤其是在尝试获取数组中的特定字段时。

为了解决这一挑战,正确的语法包括对表达式进行分组并应用“.Name”选择器检索所需的值。考虑以下模板:

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

在此模板中,“.Doc.Users”数组包含带有“Name”字段的对象。通过对“index .Doc.Users 0”表达式进行分组并应用“.Name”,您可以有效地选择第一个数组元素的“Name”字段。

举个实际的例子,假设您有一个对象一组用户:

import "fmt"
import "os"
import "text/template"

type User struct {
    Name  string
    Email string
}

func main() {
    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: "[email protected]"},
                {Name: "Alice", Email: "[email protected]"},
            },
        },
    }

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

当您在 Go Playground 上运行此代码时,您将获得以下输出:

<div>Foobar Bob</div>

这演示了“.Name”的有效检索Go 模板中“.Doc.Users”数组的第一个元素中的“字段。

以上是如何访问 Go 模板中第一个数组元素的名称字段?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn