Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah terdapat cara untuk memanggil templat Go boleh guna semula dalam operasi if?

Adakah terdapat cara untuk memanggil templat Go boleh guna semula dalam operasi if?

王林
王林ke hadapan
2024-02-09 09:06:091181semak imbas

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

Editor PHP Apple ada di sini untuk menjawab soalan biasa: "Adakah terdapat cara untuk memanggil templat Go boleh guna semula dalam operasi if Jawapannya ya. Dalam bahasa Go, kita boleh mencapai keperluan ini dengan menggunakan gabungan pernyataan if dan templat. Melalui pertimbangan bersyarat dalam operasi if, kami boleh secara selektif memanggil templat yang berbeza untuk mencapai kawalan logik perniagaan yang lebih fleksibel. Kaedah ini bukan sahaja ringkas dan cekap, tetapi juga mudah dibaca dan diselenggara. Jika anda ingin mengetahui lebih banyak petua dan amalan tentang menggunakan templat boleh guna semula dalam bahasa Go, sila teruskan membaca artikel ini.

Kandungan soalan

Saya tertanya-tanya sama ada terdapat sebarang cara untuk menggunakan output templat boleh guna semula yang dipanggil dalam keadaan if, seperti ini:

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

Memandangkan templat boleh guna semula boleh digunakan dengan mudah di seluruh badan templat melalui tindakan template, saya harap saya boleh menggunakannya dalam template 操作在整个模板正文中轻松使用可重用模板,因此我希望我也可以在 if 条件中使用它。到目前为止,查看 go 模板文档,我无法找到实现此目的的方法。

解决方法

模板的输出不能用作模板内的值。您正在寻找的内容可以使用在评估模板之前传递给 template.Funcs 的附加模板函数来完成。因此,不要编写 test.tmpl keadaan juga. Melihat dokumentasi templat go setakat ini, saya tidak dapat mencari jalan untuk mencapai ini.

🎜Penyelesaian🎜🎜Keluaran templat tidak boleh digunakan sebagai nilai dalam templat. Perkara yang anda cari boleh dicapai menggunakan fungsi templat tambahan yang dihantar ke template.Funcs sebelum templat dinilai. Jadi daripada menulis test.tmpl, tulis fungsi Go yang mengembalikan nilai dan panggil fungsi itu daripada templat. 🎜

Atas ialah kandungan terperinci Adakah terdapat cara untuk memanggil templat Go boleh guna semula dalam operasi if?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam