登录
首页 >  Golang >  Go问答

如何确定golang模板中传递值的类型?

来源:stackoverflow

时间:2024-02-16 20:00:22 246浏览 收藏

小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《如何确定golang模板中传递值的类型?》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的知识积累有所帮助!

问题内容

有没有办法通过仅修改 golang 模板(而不是渲染器)来获取 golang 模板中打印的每个值的每个结构成员(就像 spewsprintf("%#v")json.marshal )渲染器是已经编译并运行的第 3 方程序)?

情况是,我试图正确打印 prometheusalertmanager,但我得到的只是

alerts firing:
- :
- :
- :
- :

使用此模板:

*Alerts Firing:*
{{ range .Alerts.Firing }}- {{ .Annotations.identifier }}: {{ .Annotations.description }}
{{ end }}

有没有办法从 . 获取所有可能的值?


正确答案


我的意思是,仅从外观上看,我想问题是 .identifier.description 要么未导出,要么只需要以大写字母开头:

{{ range .alerts.firing }}- {{ .annotations.identifier }}: {{ .annotations.description }}

可能只是需要

{{ range .alerts.firing }}- {{ .annotations.identifier }}: {{ .annotations.description }}

或者它是一张地图,您只需要做:

{{ range .Alerts.Firing }}- {{ index .Annotations "identifier" }}: {{ index .Annotations "description" }}

到这里,我们也就讲完了《如何确定golang模板中传递值的类型?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>