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


本文向大家介绍Go语言多值替换的HTML模板实例分析,包括了Go语言多值替换的HTML模板实例分析的使用技巧和注意事项,需要的朋友参考一下

本文实例分析了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语言程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#yiidian.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。