golang template 例子

golang的template包很好用,做一些复杂的文本格式生成太有帮助了,生成网页也是很不错的,使用起来非常方便.

package main
   
import (
    "fmt"
    "os"
    "text/template"
)
   
type Latlng struct {
    Lat float32
    Lng float32
}
   
func (latlng Latlng) String() string {
    return fmt.Sprintf("%g/%g", latlng.Lat, latlng.Lng)
}
   
func main() {
    data := []template.FuncMap{}
    data = append(data, template.FuncMap{"name":"dotcoo1", "url":"http://www.dotcoo.com/", "latlng":Latlng{24.1, 135.1}})
    data = append(data, template.FuncMap{"name":"dotcoo2", "url":"http://www.dotcoo.com/", "latlng":Latlng{24.2, 135.2}})
    data = append(data, template.FuncMap{"name":"dotcoo2", "url":"http://www.dotcoo.com/", "latlng":Latlng{24.3, 135.3}})
   
    datatpl := `{{range .}}{{template "user" .}}{{end}}`
    usertpl := `{{define "user"}}name:{{.name}}, url:{{.url}}, latlng:{{.latlng}} lat:{{.latlng.Lat}} lng:{{.latlng.Lng}}
{{end}}`
   
    tpl, err := template.New("data").Parse(datatpl)
    if err != nil {
        panic(err)
    }
    _, err = tpl.Parse(usertpl)
    if err != nil {
        panic(err)
    }
   
    err = tpl.Execute(os.Stdout, data)
    if err != nil {
        panic(err)
    }
   
    println()
}


http://www.dotcoo.com/golang-template-dome

本文来自:ITEYE博客

感谢作者:DarkWingBoy

查看原文:golang template 例子

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。