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 關注
- 177 瀏覽
添加回答
舉報