• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

Go语言的HTML模板(多值替换)

go 水墨上仙 1355次浏览

通过两种方式提供基于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语言的HTML模板(多值替换)
喜欢 (0)
加载中……