Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengakses Data Saluran Paip Induk dalam Julat dalam Templat Go?

Bagaimana untuk Mengakses Data Saluran Paip Induk dalam Julat dalam Templat Go?

Susan Sarandon
Susan Sarandonasal
2024-11-11 15:10:03673semak imbas

How to Access Parent Pipeline Data within Range in Go Templates?

Mengakses Saluran Paip Induk dalam Julat dalam Tindakan Templat

Templat Dalam Go, adalah perkara biasa untuk menggunakan saluran paip julat untuk mengulangi kepingan atau peta. Walau bagaimanapun, masalah yang kerap timbul apabila cuba mengakses data di luar skop segera saluran paip. Artikel ini meneroka cara untuk mencapainya.

Menggunakan Pembolehubah $ (Disyorkan)

Dokumentasi teks/templat menyatakan bahawa apabila pelaksanaan bermula, pembolehubah $ merujuk data hujah diluluskan untuk Laksanakan. Ini bermakna kita boleh mengakses data skop luar dengan menggunakan $.variable.

Sebagai contoh, pertimbangkan templat ini:

const page = `{{range .Files}}<script src="{{html $.Path}}/js/{{html .}}"></script>{{end}}`

Di sini, .Fail merujuk kepada sekeping fail, tetapi kami mahu mengakses Laluan struktur scriptFiles yang disertakan. Menggunakan $.Path membolehkan kami melakukannya.

Menggunakan Pembolehubah Tersuai (Kaedah Warisan)

Kaedah alternatif melibatkan mencipta pembolehubah tersuai untuk dihantar ke dalam skop julat , seperti yang ditunjukkan dalam templat ini:

const page = `{{$p := .Path}}{{range .Files}}<script src="{{html $p}}/js/{{html .}}"></script>{{end}}`

Dengan menetapkan $p kepada .Path sebelum saluran paip julat, kita boleh mengakses laluan dalam saluran paip.

Nota: Kaedah pembolehubah $ disyorkan kerana ia merupakan pendekatan yang lebih ringkas dan idiomatik dalam versi Go semasa.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Data Saluran Paip Induk dalam Julat 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