在 Go 模板中访问数组的第一个索引的值
在 Go 中使用 HTML 模板时,您可能会遇到挑战访问模板内嵌入的数组的第一个索引的值。考虑以下模板代码:
<div>Foobar {{ index .Doc.Users 0 }}</div>
在这里,您的目标是获取“Doc.Users”切片中第一个元素的“Name”字段的值。但是,使用不同语法的多次尝试均未成功。
检索“Doc.Users”数组中第一个元素的“Name”字段的正确语法是:
<div>Foobar {{ (index .Doc.Users 0).Name }}</div>
为了理解这个语法,让我们分解它:
通过对表达式进行分组并应用选择器,您可以有效地访问所需的“名称”字段。
以下是您可以运行来测试此解决方案的示例代码:
package main import ( "fmt" "html/template" "os" ) 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)) }
此代码将产生以下输出,演示成功访问“Doc.Users”切片中第一个用户的“Name”字段:
<div>Foobar Bob</div>
以上是如何在 Go 模板中访问数组第一个索引的值?的详细内容。更多信息请关注PHP中文网其他相关文章!