2016-06-17 64 views
-4

我正在嘗試創建一個包含表格的HTML模板。 表中的每一行都應該表示一個結構體,並且包含來自該結構體的值。Golang HTML中繼器

唯一相關的參考,我發現是這樣的:golang template - how to render templates?

不同的是,我不知道提前表中的行數,所以我需要能夠遍歷的dyanmic列表結構體,併爲每個這樣的結構體填充它的值到代表行的模板中,並將該行添加到表示該表的父模板中。

任何人都可以告訴我如何做到這一點嗎?任何其他方法也是受歡迎的。

回答

3

我想你只是在尋找{{range}},對不對?例如。

package main 

import "log" 
import "os" 
import "html/template" 

type Highscore struct { 
    Name string 
    Score int 
} 

func main() { 
    const tpl = `<ol> 
{{range .}} 
    <li>{{.Name}} - {{.Score}}</li> 
{{end}} 
</ol> 
` 
    scores := []Highscore{ 
     Highscore{"Steve", 50}, 
     Highscore{"Jim", 40}, 
    } 

    scoreTemplate, err := template.New("scores").Parse(tpl) 
    if err != nil { 
     log.Fatal(err) 
    } 

    err = scoreTemplate.Execute(os.Stdout, scores) 
    if err != nil { 
     log.Fatal(err) 
    } 
}