Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengakses Medan Bukan Struktur dalam Gelung Julat Templat Go?
Templat HTML Dalam Go, mengakses medan yang bukan sebahagian daripada struct berulang dalam gelung julat boleh menyebabkan ralat "tidak dapat menilai medan X dalam jenis Y".
Untuk menyelesaikan isu ini, mari kita periksa senario di mana struct Pengguna tidak mempunyai medan .lang tetapi templat perlu mengaksesnya.
Contoh Struktur Pengguna:
type User struct { Username string Password []byte Email string ... }
URL Struktur:
example.com/ms/users
Kod Templat:
{{ range .users }} <form action="/{{ .lang }}/users" method="POST"> <input type="text" name="Username" value="{{ .Username }}"> <input type="text" name="Email" value="{{ .Email }}"> </form> {{ end }}
Ralat:
"tidak boleh menilai medan dalam jenis Pengguna"
Penyelesaian:
Untuk mengakses .lang dari dalam gelung, anda boleh menggunakan pembolehubah $, yang diberikan nilai titik (.) selepas pelaksanaan daripada julat.
{{ range .users }} <form action="/{{ $.lang }}/users" method="POST"> <input type="text" name="Username" value="{{ .Username }}"> <input type="text" name="Email" value="{{ .Email }}"> </form> {{ end }}
Ini kerana menurut dokumentasi templat Go, "$ ditetapkan kepada argumen data yang dihantar kepada Laksanakan, itu ialah, kepada nilai permulaan titik."
Oleh itu, pembolehubah $ boleh digunakan untuk mengakses medan yang bukan sebahagian daripada struktur yang diulang dalam gelung julat.
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Medan Bukan Struktur dalam Gelung Julat Templat Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!