Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menghantar Data Antara Templat dalam Pakej teks/templat Go?

Bagaimana untuk Menghantar Data Antara Templat dalam Pakej teks/templat Go?

DDD
DDDasal
2024-10-27 02:59:03716semak imbas

How to Pass Data Between Templates in Go's text/template Package?

Melalui Data Antara Templat

Keperluan biasa dalam pemaparan templat ialah keupayaan untuk menghantar data antara templat. Dalam pakej teks/templat Go, ini boleh dicapai menggunakan gabungan fungsi dan teknik pemanggilan templat.

Untuk menghantar nombor mudah sebagai argumen tambahan kepada templat bersarang, anda boleh menentukan fungsi yang menggabungkan argumennya menjadi nilai keping tunggal. Fungsi ini kemudiannya boleh didaftarkan dan digunakan dalam pemanggilan templat.

Berikut ialah contoh:

<code class="go">func args(vs ...interface{}) []interface{} {
    return vs
}</code>
<code class="go">t, err := template.New("t").Funcs(template.FuncMap{"args": args}).Parse(...)</code>

Dalam templat index.html, gunakan fungsi args untuk menggabungkan arus data dengan hujah tambahan:

<code class="html">{{ template "image_row" args . 5 }}</code>

Dalam templat image_row.html, akses argumen menggunakan fungsi terbina dalam indeks:

<code class="html">{{ define "image_row" }}
   To stuff here {{ index . 0 }} {{ index . 1 }}
{{ end }}</code>

Pendekatan ini membolehkan anda menghantar data sewenang-wenangnya antara templat dan membina komponen templat yang lebih kompleks dan boleh diguna semula.

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Data Antara Templat dalam Pakej teks/templat Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn