Go語言的text/template
和html/template
包提供了強大的模板引擎功能,用于處理數(shù)據(jù)并生成文本輸出。以下是使用Go語言模板引擎處理數(shù)據(jù)的基本步驟:
import (
"os"
"text/template"
)
const tpl = `Hello, {{.Name}}! Your age is {{.Age}}.`
這里,{{.Name}}
和{{.Age}}
是模板占位符,它們將在執(zhí)行模板時被替換為傳遞給模板的數(shù)據(jù)。
type Person struct {
Name string
Age int
}
func main() {
person := Person{
Name: "Alice",
Age: 30,
}
tmpl, err := template.New("person").Parse(tpl)
if err != nil {
panic(err)
}
err = tmpl.Execute(os.Stdout, person)
if err != nil {
panic(err)
}
在這個例子中,我們將person
結(jié)構(gòu)體作為數(shù)據(jù)傳遞給模板,并在控制臺上輸出結(jié)果。完整的代碼如下:
package main
import (
"os"
"text/template"
)
const tpl = `Hello, {{.Name}}! Your age is {{.Age}}.`
type Person struct {
Name string
Age int
}
func main() {
person := Person{
Name: "Alice",
Age: 30,
}
tmpl, err := template.New("person").Parse(tpl)
if err != nil {
panic(err)
}
err = tmpl.Execute(os.Stdout, person)
if err != nil {
panic(err)
}
}
運行這個程序,你將看到以下輸出:
Hello, Alice! Your age is 30.
這就是Go語言模板引擎處理數(shù)據(jù)的基本方法。你可以根據(jù)需要自定義模板和數(shù)據(jù)結(jié)構(gòu),以滿足不同的需求。