Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengakses Medan Struktur Elemen Peta dalam Templat HTML Menggunakan Pakej html/template Go?

Bagaimana untuk Mengakses Medan Struktur Elemen Peta dalam Templat HTML Menggunakan Pakej html/template Go?

DDD
DDDasal
2024-10-24 07:34:30354semak imbas

How to Access Struct Fields of Map Elements in HTML Templates Using Go's html/template Package?

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!

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