1 回答
TA贡献2016条经验 获得超9个赞
注意:您可以在Go Playground 中尝试/检查您的工作修改后的代码。
如果您希望template包能够访问这些字段,则必须导出这些字段。您可以通过以大写字母开头来导出字段:
type Task struct {
cmd string
args []string
Desc string
}
请注意,我只Desc在此处更改,您必须将要在模板中引用的任何其他字段大写。
导出后,Desc当然将所有引用更改为大写:
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>
输出:
<html>
<li>Task Name: find</li>
<li>Task Value: {find [/tmp/] find files in /tmp dir}</li>
<li>Task description: find files in /tmp dir</li>
<li>Task Name: grep</li>
<li>Task Value: {grep [foo /tmp/* -R] grep files match having foo}</li>
<li>Task description: grep files match having foo</li>
</html>
- 1 回答
- 0 关注
- 160 浏览
添加回答
举报