【发布时间】:2021-06-28 15:53:56
【问题描述】:
有没有办法通过只修改 golang 模板(不是渲染器,因为渲染器是第 3已经编译并运行的派对程序)?
情况是,我正在尝试正确打印prometheus 的alertmanager,但我得到的只是
Alerts Firing:
- :
- :
- :
- :
使用此模板:
*Alerts Firing:*
{{ range .Alerts.Firing }}- {{ .Annotations.identifier }}: {{ .Annotations.description }}
{{ end }}
有没有办法从. 获取所有可能的值?
【问题讨论】:
-
您可以在模板中使用自定义函数,这样就够了吗?还是属于您所说的“渲染器”?或者您可以使用内置模板 func
printf,但输出的格式不会像您想要的那样。 -
要“快速”查看,只需使用
{{ printf "%#v" .}} -
如果您不能使用自定义函数,另一种选择是在
.值的类型上实现一个方法,该方法将返回一段与字段相关的信息。 -
啊这可能就是我需要的
{{printf "%#v" .}}
标签: go go-templates