91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Go語言模板引擎如何設置變量

小樊
84
2024-11-02 17:35:33
欄目: 編程語言

在Go語言的html/templatetext/template包中,你可以使用{{.}}{{.FieldName}}來訪問傳遞給模板的上下文中的變量。要設置變量,你可以在模板中使用{{define "name"}}{{template "name"}}動作。這里有一個簡單的例子來說明如何在Go模板中設置和使用變量:

package main

import (
	"os"
	"text/template"
)

func main() {
	// 定義一個簡單的模板字符串
	tmplStr := `
{{define "greeting"}}Hello, {{.}}!{{end}}
{{template "greeting" "John"}}
`

	// 解析模板字符串
	tmpl, err := template.New("example").Parse(tmplStr)
	if err != nil {
		panic(err)
	}

	// 執行模板,并將結果輸出到標準輸出
	err = tmpl.Execute(os.Stdout, nil)
	if err != nil {
		panic(err)
	}
}

在這個例子中,我們定義了一個名為greeting的模板,它接受一個參數{{.}}。然后,我們使用{{template "greeting" "John"}}來執行這個模板,并傳遞一個名為John的變量。輸出將是:

Hello, John!

如果你想在模板中設置一個變量并在其他地方使用它,你可以使用{{define "name"}}{{template "name" .}}。這里有一個例子:

package main

import (
	"os"
	"text/template"
)

func main() {
	// 定義一個簡單的模板字符串
	tmplStr := `
{{define "main"}}Hello, {{.}}!{{end}}
{{define "greeting"}}Hello, my name is {{.}}!{{end}}
{{template "main" "John"}}
{{template "greeting" .Name}}
`

	// 解析模板字符串
	tmpl, err := template.New("example").Parse(tmplStr)
	if err != nil {
		panic(err)
	}

	// 執行模板,并將結果輸出到標準輸出
	err = tmpl.Execute(os.Stdout, map[string]interface{}{"Name": "John"})
	if err != nil {
		panic(err)
	}
}

在這個例子中,我們定義了兩個模板:maingreetingmain模板使用{{.}}來訪問傳遞給它的變量,而greeting模板使用{{.}}來訪問傳遞給它的.Name變量。我們使用{{template "main" "John"}}{{template "greeting" .Name}}來執行這兩個模板,并傳遞相應的變量。輸出將是:

Hello, John!
Hello, my name is John!

0
尉氏县| 黄浦区| 孙吴县| 鄱阳县| 台南县| 平罗县| 读书| 清苑县| 花莲市| 黄骅市| 桦南县| 临沧市| 新兴县| 赣州市| 张家港市| 禄丰县| 永城市| 锡林浩特市| 和林格尔县| 酉阳| 台山市| 汽车| 马关县| 六安市| 兴宁市| 积石山| 房产| 辽阳县| 海口市| 拜城县| 抚宁县| 德清县| 光山县| 新田县| 荃湾区| 灵寿县| 屏南县| 集贤县| 喜德县| 兴业县| 龙岩市|