{{end}}`

var content = `{{define "content"}}

{{end}}`

var comment = `{{define "comment"}}

{{end}}`

type Tags struct {

Id int

Name string

}

type Content struct {

Id int

Title string

Content string

}

type Comment struct {

Id int

Note string

}

type Page struct {

Tags *Tags

Content *Content

Comment *Comment

}

func main() {

pagedata := &Page{Tags:&Tags{Id:1,Name:"golang"},Content: &Content{Id:9,Title:"Hello",Content:"World!"},Comment: &Comment{Id:2,Note:"Good Day!"}}

tmpl := template.New("page")

var err error

if tmpl,err = tmpl.Parse(page); err != nil {

fmt.Println(err)

}

if tmpl,err = tmpl.Parse(tags); err != nil {

fmt.Println(err)

}

if tmpl,err = tmpl.Parse(comment); err != nil {

fmt.Println(err)

}

if tmpl,err = tmpl.Parse(content); err != nil {

fmt.Println(err)

}

tmpl.Execute(os.Stdout,pagedata)

}