Мне нужно вернуть форму ключевого значения текстового шаблона, которое будет похоже на комментарий и команду, как показано ниже.
#Description for npm install
npm install
#Description for test
npm test
#Description for test2
run test2
Для этого я создал такую функцию, как:
// example with switch
func (d Dependency) TypeCommand() Command {
switch d.Type {
case "runner":
cmd1 := Command{"#Description for npm install", "npm install"}
cmd2 := Command{"#Description for test", "npm test"}
cmd3 := Command{"#Description for test2", "run test2"}
case "runner2":
return "test 2"
}
return "command_baz"
}
Шаблон:
const tmpl = '
{{- range .File.Dependency}}
{{.TypeCommand}}
{{end}}'
type Command struct {
Info string
Command string
}
Когда я меняю шаблон на следующее, я получаю сообщение об ошибке:
const tmpl = '
{{- range .File.Dependency}}
{{ TypeCommand .}}
{{ range .Command}}
{{ .Info }}
{{ .Command }}
{{end}}
{{end}}
'
executing "tmpl3.txt" at <.Command>: can't evaluate field Command in type *Dependency
Я использую это как ссылку.