首頁 >後端開發 >Golang >如何使用Go存取HTML模板中Map元素的Struct欄位?

如何使用Go存取HTML模板中Map元素的Struct欄位?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-24 07:27:02981瀏覽

How to Access Struct Field of Map Element in HTML Template with Go?

使用Go 存取HTML 範本中映射元素的結構欄位

在Go 範本中使用映射和結構時,重要的是要確保可以從模板存取字段。在這種情況下,taskMap 將 Task 結構體儲存為值,並使用「.desc」存取任務描述。

要存取模板中的字段,必須匯出它們。這是透過將結構體定義中的欄位名稱大寫來實現的:

<code class="go">type Task struct {
   cmd string
   args []string
   Desc string // Capitalized to export the field
}</code>

同樣,透過大寫「Desc」來更新映射條目和模板引用:

<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",
    },
}

<html>
{{range $key, $value := .}}
   <li>Task Name:        {{$key}}</li>
   <li>Task Value:       {{$value}}</li>
   <li>Task description: {{$value.Desc}}</li>
{{end}}
</html></code>

透過這些修改,模板將成功顯示每個任務的描述欄位。

以上是如何使用Go存取HTML模板中Map元素的Struct欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn