2016-06-17 4 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) 
    } 
}