使用 Go 访问 HTML 模板中映射元素的结构字段
在 Go 模板中使用映射和结构时,重要的是要确保可以从模板访问字段。在这种情况下,taskMap 将 Task 结构体保存为值,并使用“.desc”访问任务描述。
要访问模板中的字段,必须导出它们。这是通过将结构体定义中的字段名称大写来实现的:
<code class="go">type Task struct { cmd string args []string Desc string // Capitalized to export the field }</code>
同样,通过大写“Desc”来更新映射条目和模板引用:
<code class="go">var taskMap = map[string]Task{ "find": Task{ cmd: "find", args: []string{"/tmp/"}, Desc: "find files in /tmp dir", }, "grep": Task{ cmd: "grep", args:[]string{"foo","/tmp/*", "-R"}, Desc: "grep files match having foo", }, } <html> {{range $key, $value := .}} <li>Task Name: {{$key}}</li> <li>Task Value: {{$value}}</li> <li>Task description: {{$value.Desc}}</li> {{end}} </html></code>
通过这些修改,模板将成功显示每个任务的描述字段。
以上是如何使用Go访问HTML模板中Map元素的Struct字段?的详细内容。更多信息请关注PHP中文网其他相关文章!