Go语言多值替换的HTML模板实例分析
本文实例分析了Go语言多值替换的HTML模板用法。分享给大家供大家参考。具体如下:
这里通过两种方式提供基于HTML模板的多变量值替换。另外附加一个数组迭代的示例。
传入map实现多值替换
packagemain import( "html/template" "os" ) funcmain(){ t,_:=template.New("demo").Parse(`{{define"T"}}Hello,{{.Username}}!MainPage:[{{.MainPage}}]{{end}}`) args1:=map[string]string{"Username":"Hypermind","MainPage":"http://hypermind.com.cn/go"} _=t.ExecuteTemplate(os.Stdout,"T",args1) }
传入自定义结构实现多值替换
packagemain import( "html/template" "os" ) typeInfostruct{ Usernamestring MainPagestring } funcmain(){ t,_:=template.New("demo").Parse(`{{define"T"}}Hello,{{.Username}}!MainPage:[{{.MainPage}}]{{end}}`) args2:=Info{Username:"Hypermind",MainPage:"http://hypermind.com.cn/go"} _=t.ExecuteTemplate(os.Stdout,"T",args2) }
二维数组的迭代显示
packagemain import( "html/template" "os" ) typeMatrixstruct{ Array[9][9]int } funcmain(){ tmpl,_:=template.New("example").Parse(` {{$a:=.Array}} {{range$a}}{{$elem:=.}}|{{range$elem}}{{printf"%d".}}{{end}}| {{end}}`) tmpl.Execute(os.Stdout,matrix) }
希望本文所述对大家的Go语言程序设计有所帮助。