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语言程序设计有所帮助。