Mengakses Nilai Indeks Pertama Tatasusunan dalam Templat Go
Apabila bekerja dengan templat HTML dalam Go, anda mungkin menghadapi cabaran untuk mengakses nilai indeks pertama tatasusunan yang dibenamkan dalam templat. Pertimbangkan kod templat berikut:
<div>Foobar {{ index .Doc.Users 0 }}</div>
Di sini, anda menyasarkan untuk mendapatkan nilai medan "Nama" untuk elemen pertama dalam kepingan "Doc.Users". Walau bagaimanapun, beberapa percubaan menggunakan sintaks berbeza tidak berjaya.
Sintaks yang betul untuk mendapatkan semula medan "Nama" bagi elemen pertama dalam tatasusunan "Doc.Users" ialah:
<div>Foobar {{ (index .Doc.Users 0).Name }}</div>
Untuk memahami sintaks ini, mari kita pecahkan:
Dengan mengumpulkan ungkapan dan menggunakan pemilih, anda boleh mengakses medan "Nama" yang dikehendaki dengan berkesan.
Berikut ialah contoh kod yang boleh anda jalankan untuk menguji penyelesaian ini:
package main import ( "fmt" "html/template" "os" ) type User struct { Name string Email string } func main() { t := template.Must(template.New("").Parse(` <div>Foobar {{ (index .Doc.Users 0).Name }}</div> `)) m := map[string]interface{}{ "Doc": map[string]interface{}{ "Users": []User{ {Name: "Bob", Email: "[email protected]"}, {Name: "Alice", Email: "[email protected]"}, }, }, } fmt.Println(t.Execute(os.Stdout, m)) }
Kod ini akan menghasilkan output berikut, menunjukkan capaian yang berjaya kepada medan "Nama" pengguna pertama dalam kepingan "Doc.Users":
<div>Foobar Bob</div>
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Nilai Indeks Pertama Tatasusunan dalam Templat Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!