首頁 >後端開發 >Golang >如何將多個資料物件傳遞給 Go 範本?

如何將多個資料物件傳遞給 Go 範本?

DDD
DDD原創
2024-12-29 05:58:10281瀏覽

How to Pass Multiple Data Objects to a Go Template?

將多個資料物件傳遞給Go 範本

簡介
增強Go 範本的功能通常涉及傳遞多個資料對象。這使我們能夠在模板中顯示複雜的資料結構。

模板資料的資料組合
要傳遞多個資料對象,我們可以將它們組合成一個值:

使用結構
使用資料的匯出欄位建立結構物件:

type Data struct {
    Results []User // MongoDB query result
    Other   []int  // Integer array
}

範例:

data := &Data{results, []int{1, 2, 3}}

使用映射

m := map[string]interface{}{
    "Results": results,
    "Other":   []int{1, 2, 3},
}
使用映射

m := map[string]interface{}{
    "Users":       results,
    "AdditionalData": []int{1, 2, 3},
}

使用映射

使用對應>
{{range .Results}}
    Name: {{.Name}}
{{end}}
使用命名數據的字串鍵建立映射值:
{{range $key, $val := .Results}}
    {{$key}}: {{$val.Name}}
{{end}}
{{.Other}}

範例:

GetTemplate("list").Execute(w, data)
GetTemplate("list").Execute(w, m)
存取範本中的資料

在範本中,我們可以存取組合的數據:

  • 範例執行
替代方法雖然上述方法被廣泛使用,但其他選項包括:透過通道傳遞資料註冊自訂函數

以上是如何將多個資料物件傳遞給 Go 範本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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