当前位置 博文首页 > Go语言多值替换的HTML模板实例分析

    Go语言多值替换的HTML模板实例分析

    作者:pythoner 时间:2021-02-13 12:02

    本文实例分析了Go语言多值替换的HTML模板用法。分享给大家供大家参考。具体如下:

    这里通过两种方式提供基于HTML模板的多变量值替换。另外附加一个数组迭代的示例。

    传入map实现多值替换

    复制代码 代码如下:
    package main
    import (
     "html/template"
     "os"
    )
    func main() {
     t, _ := template.New("demo").Parse(`{{define "T"}}Hello, {{.Username}}! Main Page: [{{.MainPage}}]{{end}}`)
     args1 := map[string]string {"Username": "Hypermind", "MainPage": "http://hypermind.com.cn/go"}
     _ = t.ExecuteTemplate(os.Stdout, "T", args1)
    }

    传入自定义结构实现多值替换

    复制代码 代码如下:
    package main
    import (
     "html/template"
     "os"
    )
    type Info struct{
     Username string
     MainPage string
    }
    func main() {
     t, _ := template.New("demo").Parse(`{{define "T"}}Hello, {{.Username}}! Main Page: [{{.MainPage}}]{{end}}`)
     args2 := Info{Username: "Hypermind", MainPage: "http://hypermind.com.cn/go"}
     _ = t.ExecuteTemplate(os.Stdout, "T", args2)
    }

    二维数组的迭代显示

    复制代码 代码如下:
    package main
    import (
     "html/template"
     "os"
    )
    type Matrix struct {
     Array [9][9]int
    }
    func main() {
     tmpl, _ := template.New("example").Parse(`
            {{ $a := .Array }}
            {{ range $a }}{{ $elem := . }}|{{ range $elem }}{{ printf "%d" . }}{{ end}}|
            {{end}}`)
     tmpl.Execute(os.Stdout, matrix)
    }

    希望本文所述对大家的Go语言程序设计有所帮助。

    js
    下一篇:没有了