Go語言多值替換的HTML模板實例分析
更新時間:2015年02月28日 09:49:21 作者:pythoner
這篇文章主要介紹了Go語言多值替換的HTML模板,實例分析了Go語言多值替換與數(shù)組迭代的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例分析了Go語言多值替換的HTML模板用法。分享給大家供大家參考。具體如下:
這里通過兩種方式提供基于HTML模板的多變量值替換。另外附加一個數(shù)組迭代的示例。
傳入map實現(xiàn)多值替換
復(fù)制代碼 代碼如下:
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)
}
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)
}
傳入自定義結(jié)構(gòu)實現(xiàn)多值替換
復(fù)制代碼 代碼如下:
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)
}
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)
}
二維數(shù)組的迭代顯示
復(fù)制代碼 代碼如下:
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)
}
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語言程序設(shè)計有所幫助。
相關(guān)文章
golang 實現(xiàn)interface{}轉(zhuǎn)其他類型操作
這篇文章主要介紹了golang 實現(xiàn)interface{}轉(zhuǎn)其他類型操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12Go語言reflect.TypeOf()和reflect.Type通過反射獲取類型信息
這篇文章主要介紹了Go語言reflect.TypeOf()和reflect.Type通過反射獲取類型信息,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Go中函數(shù)的使用細(xì)節(jié)與注意事項詳解
在Go語言中函數(shù)可是一等的(first-class)公民,函數(shù)類型也是一等的數(shù)據(jù)類型,下面這篇文章主要給大家介紹了關(guān)于Go中函數(shù)的使用細(xì)節(jié)與注意事項的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11十個Golang開發(fā)中應(yīng)該避免的錯誤總結(jié)
Go是一種靜態(tài)類型的、并發(fā)的、垃圾收集的編程語言,由谷歌開發(fā)。開發(fā)人員在編寫Go代碼時總會有一些常見的錯誤,下面是Go語言中需要避免的十大壞錯誤,希望對大家有所幫助2023-03-03