Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengulang Melalui Tatasusunan Selari dengan Julat dan Indeks dalam Templat Go?

Bagaimana untuk Mengulang Melalui Tatasusunan Selari dengan Julat dan Indeks dalam Templat Go?

Patricia Arquette
Patricia Arquetteasal
2024-11-04 12:59:29763semak imbas

How to Iterate Through Parallel Arrays with Range and Index in Go Templates?

Lelaran Melalui Tatasusunan Selari dengan Julat dan Indeks

Bagaimanakah kita boleh lelaran melalui dua tatasusunan selari dengan saiz yang sama dan senaraikan item daripada kedua-dua tatasusunan menggunakan julat serentak?

Kod berikut menunjukkan percubaan yang tidak berjaya:

<code class="go">{{range $i, $e := .First}}{{ $e }} - {{ index .Second $i }}{{end}}</code>

Untuk menangani cabaran ini, kami boleh menggunakan fungsi templat global yang telah ditetapkan, indeks. Fungsi ini membolehkan kami mengindeks hujah pertama dengan hujah berikutnya, serupa dengan cara pengindeksan berfungsi dalam Go.

<code class="go">index x 1 2 3</code>

sama dengan:

<code class="go">x[1][2][3]</code>

Walau bagaimanapun, dalam blok julat, dot telah ditetapkan semula. Untuk kembali ke titik asal, kami menggunakan ciri templat terbina dalam yang menetapkan $ pada mulanya kepada argumen data yang diserahkan kepada Laksanakan. Oleh itu, kami boleh mengubah suai kod kami:

<code class="go">{{range $i, $e := .First}}{{$e}} - {{index $.Second $i}}{{end}}</code>

Sebagai alternatif kepada ini, mungkin lebih bersih untuk mencipta fungsi templat dipanggil zip yang mengubah berbilang keping menjadi sekeping pasangan nilai.

Atas ialah kandungan terperinci Bagaimana untuk Mengulang Melalui Tatasusunan Selari dengan Julat dan Indeks dalam 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