這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
抽空把go 的text/templete模板整理學習了,現在總結下。
步驟
1、定義資料類型
type Opt struct{ Name string Age int Score float32}one := Opt{"xiao chao",26,90}two := Opt{"xiao er",29,89}
2、建立模板
one_str := "one_str :my name is {{.Name}},and age is {{.Age}},my score is {{.Score}}." two_str := "two_str :my name is {{.Name}},and age is {{.Age}},my score is {{.Score}}." t1 := template.New("one1") t2 := template.New("two2")
3、解析模板
t1,_ = t1.Parse(one_str) t2,_ = t2.Parse(two_str)
4、執行模板
t1.ExecuteTemplate(os.Stdout,"one1",one) println("\n") t2.ExecuteTemplate(os.Stdout,"two2",two)
完整代碼:
package mainimport ( "os" "text/template")type Opt struct{ Name string Age int Score float32}func main() { /* stu := Opt{"zhao zi long",30,99} tmpl, err := template.New("stu").Parse("hello, name:{{.Name}},age:{{.Age}},score:{{.Score}}") //建立一個模板,內容是"hello, {{.}}" //tmp2,err2 := template.New("").ExecuteTemplate() if err != nil { panic(err) } err = tmpl.Execute(os.Stdout, stu) //將string與模板合成,變數name的內容會替換掉{{.}} //合成結果放到os.Stdout裡 if err != nil { panic(err) } */ one := Opt{"xiao chao",26,90} two := Opt{"xiao er",29,89} one_str := "one_str :my name is {{.Name}},and age is {{.Age}},my score is {{.Score}}." two_str := "two_str :my name is {{.Name}},and age is {{.Age}},my score is {{.Score}}." t1 := template.New("one1") t2 := template.New("two2") t1,_ = t1.Parse(one_str) t2,_ = t2.Parse(two_str) t1.ExecuteTemplate(os.Stdout,"one1",one) println("\n") t2.ExecuteTemplate(os.Stdout,"two2",two)}