华域联盟 Golang go语言template用法实例

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":"https://www.jb51.net/", "latlng":Latlng{24.1, 135.1}})

    data = append(data, template.FuncMap{"name":"dotcoo2", "url":"https://www.jb51.net/", "latlng":Latlng{24.2, 135.2}})

    data = append(data, template.FuncMap{"name":"dotcoo2", "url":"https://www.jb51.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用法实例

转载请保留出处和原文链接:https://www.cnhackhy.com/109947.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们