複数のデータ オブジェクトを 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 中国語 Web サイトの他の関連記事を参照してください。