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

DDD
Lepaskan: 2024-10-24 07:34:30
asal
254 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk
<code class="html">{{range $key, $value := .}}
   <li>Task Name:        {{$key}}</li>
   <li>Task Value:       {{$value}}</li>
   <li>Task description: {{$value.Desc}}</li>
{{end}}</code>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!