Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengakses Medan Struktur Elemen Peta dalam Templat HTML Menggunakan Pakej html/template Go?
Mendapatkan semula Medan Struktur Elemen Peta dalam Pakej HTML/Template's Go
Situasi:
Anda mempunyai struct dan peta menggunakan struct sebagai nilai. Anda ingin mengakses medan struct dalam halaman HTML yang diberikan menggunakan pakej html/template.
Penyelesaian:
Untuk mendayakan akses kepada medan struct dalam templat, mereka mesti dieksport. Mengeksport medan memerlukan permulaan namanya dengan huruf besar.
Penjelasan Terperinci:
<code class="go">type Task struct { cmd string args []string Desc string // Exported field }</code>
Perhatikan huruf besar 'D' dalam Desc.
Begitu juga, kemas kini peta dan rujukan templat:
<code class="go">var taskMap = map[string]Task{ "find": Task{ cmd: "find", args: []string{"/tmp/"}, Desc: "find files in /tmp dir", }, "grep": Task{ cmd: "grep", args:[]string{"foo","/tmp/*", "-R"}, Desc: "grep files match having foo", }, }</code>
<code class="html">{{range $key, $value := .}} <li>Task Name: {{$key}}</li> <li>Task Value: {{$value}}</li> <li>Task description: {{$value.Desc}}</li> {{end}}</code>
Keputusan:
Output akan mengandungi medan Desc untuk setiap tugas:
<code class="html"><html> <li>Task Name: find</li> <li>Task Value: {find [/tmp/] find files in /tmp dir}</li> <li>Task description: find files in /tmp dir</li> <li>Task Name: grep</li> <li>Task Value: {grep [foo /tmp/* -R] grep files match having foo}</li> <li>Task description: grep files match having foo</li> </html></code>
Nota: Penyelesaian ini mengeksport keseluruhan struct, jadi pertimbangkan untuk menggunakan fungsi templat yang ditentukan jika anda hanya memerlukan medan tertentu.
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Medan Struktur Elemen Peta dalam Templat HTML Menggunakan Pakej html/template Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!