Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "bytes"
- "fmt"
- "html/template"
- "log"
- )
- type Data struct {
- Name string
- }
- func main() {
- var tmpl *template.Template
- funcMap := template.FuncMap{
- "executeIfExists": func(name string, data interface{}) template.HTML {
- t := tmpl.Lookup(name)
- if t == nil {
- return ""
- } else {
- buf := bytes.NewBuffer([]byte{})
- err := t.Execute(buf, data)
- if err != nil {
- log.Printf("Error executing template '%s': %v", name, err)
- return ""
- } else {
- return template.HTML(buf.Bytes())
- }
- }
- },
- }
- tmpl = template.Must(template.New("").Funcs(funcMap).ParseFiles("templates/main.tmpl", "templates/content.tmpl"))
- data := Data{
- Name: "John",
- }
- buf := bytes.NewBuffer([]byte{})
- err := tmpl.ExecuteTemplate(buf, "main.tmpl", data)
- if err != nil {
- log.Fatal(err)
- }
- fmt.Println(string(buf.Bytes()))
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement