登录
首页 >  Golang >  Go问答

如何在 Go 的 if 语句中使用可重用模板?

来源:stackoverflow

时间:2024-02-03 19:04:40 429浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《如何在 Go 的 if 语句中使用可重用模板?》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我想知道是否有任何方法可以使用在 if 条件中调用可重用模板的输出,例如类似这样的事情:

{{ define "test.tmpl" }}SomeExpectedValue{{ end }}
Header
{{/* here \/ */}}
{{- if eq (template "test.tmpl") "SomeExpectedValue" }}
The expected body: {{ template "test.tmpl" }}.
{{- else }}
Something else.
{{- end }}
Footer

由于可以通过 template 操作在整个模板正文中轻松使用可重用模板,因此我希望我也可以在 if 条件中使用它。到目前为止,查看 go 模板文档,我无法找到实现此目的的方法。


正确答案


模板的输出不能用作模板内的值。您正在寻找的内容可以使用在评估模板之前传递给 template.Funcs 的附加模板函数来完成。因此,不要编写 test.tmpl,而是编写一个返回值的 Go 函数,并从模板中调用该函数。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

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