本节期开始模板
1. 什么是模板
模板是可用于创建动态内容的文本文件。
Go提供了两个模板库 text/template和 html/template。
通常采用 text/template,目的是为了更好的前后端分离,提高性能。
2. 模板的第一个示例
代码解析:
// HelloGoPy
//定义handler Temp1处理/temp1
func HelloGoPy(w http.ResponseWriter, r *http.Request) {
//ParseFiles函数是为了创建一个模板,参数至少包含1个模板文件,当存在多个不同目录的相同名称的模板文件时,将取最后1个模板文件。
//例如,ParseFiles("user/index", "admin/index")将"admin/index.html"存储为名为"index"的模板。
files, _ := template.ParseFiles("temp1.html")
//Execute方法将经过解析的模板应用于指定的数据对象data,并将输出写入wr io.Writer。
//一个模板的执行是具备可靠、并行特点。
files.Execute(w, "hello GoPy")
}
3. 当存在不同目录的相同文件名的解析文件时
执行结果
4. 同目录下不同的文件名
需要注意的是30行:在26行执行template.ParseFiles的时候,模板名是不包含目录的文件名,因此,在30行的时候第二个参数,就不能写admin/admin.html,而只能写admin.html。
30行:第二个参数写成admin.html,就代表启用了26行中解析的admin/admin.html模板。