Cara Menyesuaikan Output Indeks dalam Templat Go: Bolehkah Anda Melakukan Aritmetik dalam Templat?

DDD
Lepaskan: 2024-11-17 14:45:02
asal
562 orang telah melayarinya

How to Customize Index Output in Go Templates: Can You Do Arithmetic in Templates?

Menyesuaikan Output Indeks dalam Templat Go: Aritmetik dalam Templat

Templat Dalam Go, tindakan julat membenarkan lelaran yang mudah melalui tatasusunan, menyediakan kedua-dua elemen dan indeks berasaskan sifarnya. Walau bagaimanapun, untuk senario tertentu, anda mungkin perlu mengubah suai indeks yang dipaparkan untuk bermula daripada nilai bukan sifar.

Mengapa Pendekatan Awal Gagal

Pada mulanya, percubaan untuk melaksanakan operasi aritmetik dalam templat, seperti "{{$index 1}}", menghasilkan ralat "sintaks nombor haram". Ini kerana bahasa templat tidak menyokong operasi aritmetik secara semulajadi.

Penyelesaian: Fungsi Tersuai

Untuk mencapai gelagat yang diingini, adalah perlu untuk menentukan fungsi tersuai yang menjalankan operasi aritmetik di luar templat. Dalam kes ini, kami mencipta fungsi yang dipanggil "inc" yang menambah indeks yang diberikan sebanyak 1.

Berikut ialah kod templat Go yang diubah suai yang menggabungkan fungsi "inc":

tmpl, err := template.New("test").Funcs(funcMap).Parse(
  `{{range $index, $element := .}}
  Number: {{inc $index}}, Text:{{$element}}
{{end}}`
)
Salin selepas log masuk

The fungsi tersuai ditakrifkan sebagai berikut:

func inc(i int) int {
  return i + 1
}
Salin selepas log masuk

Penggunaan

Untuk menggunakan fungsi tersuai, ia mesti didaftarkan dengan FuncMap templat. Contoh yang disediakan memulakan FuncMap dan menambahkan fungsi "inc" padanya, membenarkan templat mengaksesnya.

Dalam senario ini, templat itu berulang melalui sekeping rentetan, memaparkan indeks yang diubah suai dan elemen yang sepadan.

Kesimpulan

Dengan mencipta fungsi tersuai, anda boleh melanjutkan keupayaan templat Go untuk melaksanakan operasi yang tidak disokong secara asli dalam sintaks bahasa templat. Ini membolehkan fleksibiliti yang lebih besar dan membolehkan operasi yang kompleks seperti manipulasi aritmetik dalam templat.

Atas ialah kandungan terperinci Cara Menyesuaikan Output Indeks dalam Templat Go: Bolehkah Anda Melakukan Aritmetik dalam Templat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan