概述
本文实例讲述了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":"http://www.uoften.com/", "latlng":Latlng{24.1, 135.1}})
data = append(data, template.FuncMap{"name":"dotcoo2", "url":"http://www.uoften.com/", "latlng":Latlng{24.2, 135.2}})
data = append(data, template.FuncMap{"name":"dotcoo2", "url":"http://www.uoften.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()
}
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.uoften.com/", "latlng":Latlng{24.1, 135.1}})
data = append(data, template.FuncMap{"name":"dotcoo2", "url":"http://www.uoften.com/", "latlng":Latlng{24.2, 135.2}})
data = append(data, template.FuncMap{"name":"dotcoo2", "url":"http://www.uoften.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语言程序设计有所帮助。
最后
以上就是大气星星为你收集整理的go语言template用法实例的全部内容,希望文章能够帮你解决go语言template用法实例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复