Is there a way to call a Go reusable template in an if operation?

王林
Release: 2024-02-09 09:06:09
forward
1208 people have browsed it

有没有办法在 if 操作中调用 Go 可重用模板?

php editor Apple is here to answer a common question: "Is there a way to call Go reusable templates in if operations?" The answer is yes. In the Go language, we can achieve this requirement by using a combination of if statements and templates. Through conditional judgment in the if operation, we can selectively call different templates to achieve more flexible business logic control. This method is not only concise and efficient, but also easy to read and maintain. If you want to know more tips and practices about using reusable templates in Go language, then please continue reading this article.

Question content

I was wondering if there is any way to use the output of a reusable template that is called in an if condition, for example something like this:

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

Since reusable templates can be easily used throughout the template body via the template action, I wish I could use it in if conditions as well. So far, looking at the go template documentation, I can't find a way to achieve this.

Solution

The output of a template cannot be used as a value within the template. What you are looking for can be accomplished using additional template functions passed to template.Funcs before the template is evaluated. So instead of writing test.tmpl, write a Go function that returns a value and call that function from the template.

The above is the detailed content of Is there a way to call a Go reusable template in an if operation?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:stackoverflow.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!