go语言template用法实例

2019/7/10 22:13:28

本文主要是介绍go语言template用法实例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

本文实例讲述了go语言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":"//www.zyiz.net/", "latlng":Latlng{24.1, 135.1}})
    data = append(data, template.FuncMap{"name":"dotcoo2", "url":"//www.zyiz.net/", "latlng":Latlng{24.2, 135.2}})
    data = append(data, template.FuncMap{"name":"dotcoo2", "url":"//www.zyiz.net/", "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语言程序设计有所帮助。



这篇关于go语言template用法实例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程