• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

go语言 template 例子

go 水墨上仙 2692次浏览

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()
}


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明go语言 template 例子
喜欢 (0)
加载中……