Golang Passing Complex data to HTML tutorial # 6
Golang Passing Complex data to HTML tutorial # 6
Golang File
<div>
<div>package main</div>
<div>import (</div>
<div> "html/template"</div>
<div> "net/http"</div>
<div>)</div>
<div>func main() {</div>
<div> type productSpecs struct {</div>
<div> Size float64</div>
<div> Weight float64</div>
<div> Desc string</div>
<div> }</div>
<div> type product struct {</div>
<div> Category string</div>
<div> Name string</div>
<div> Price float64</div>
<div> Date string</div>
<div> SKU string</div>
<div> Specs productSpecs</div>
<div> }</div>
<div> data := product{</div>
<div> Category: "Health",</div>
<div> Name: "Tuber",</div>
<div> Price: 22.22,</div>
<div> Date: "02-02-3029",</div>
<div> SKU: "32",</div>
<div> Specs: productSpecs{</div>
<div> Size: 22.0,</div>
<div> Weight: 30.0,</div>
<div> Desc: "Here is my product desc",</div>
<div> },</div>
<div> }</div>
<div> tmpl, _ := template.ParseGlob("templates/*.html")</div>
<div> http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {</div>
<div> tmpl.ExecuteTemplate(w, "index.html", data)</div>
<div> })</div>
<div> http.ListenAndServe(":8080", nil)</div>
<div>}</div>
</div>
HTML TEMPLATE FILE
<div>
<div><html lang="en"></div>
<div><head></div>
<div> <meta charset="UTF-8"></div>
<div> <meta http-equiv="X-UA-Compatible" content="IE=edge"></div>
<div> <meta name="viewport" content="width=device-width, initial-scale=1.0"></div>
<div> <title>GOLANG INDEX HTML</title></div>
<div></head></div>
<div><body></div>
<div> <h1>INDEX HTML PAGE</h1></div>
<div> Category <b>{{.Category}}</b><br/></div>
<div> Name <b>{{.Name}}</b><br/></div>
<div> Price <b>{{.Price}}</b><br/></div>
<div> Date <b>{{.Date}}</b><br/></div>
<div> SKU <b>{{.SKU}}</b><br/></div>
<div> Specs-> <br/></div>
<div> Size <b>{{.Specs.Size}}</b><br/></div>
<div> Weight <b>{{.Specs.Weight}}</b><br/></div>
<div> Desc <b>{{.Specs.Desc}}</b><br/></div>
<div></body></div>
<div></html></div>
</div>