首頁  >  文章  >  後端開發  >  Go語言中如何使用模板引擎

Go語言中如何使用模板引擎

藏色散人
藏色散人轉載
2020-09-12 13:29:564439瀏覽

下面由golang教學欄位介紹Go語言中使用模板引擎,希望對需要的朋友有幫助!

Go語言中如何使用模板引擎

1 概述

處理回應主體時,最常見的方式就是發送處理好的HTML 程式碼,由於需要將數據嵌入到HTML 中,那麼模板引擎(template engine)就是最好的選擇。

Go語言中,提供了 html/template 套件,實現模板引擎的相關功能。快速使用範例:

main.go

package mainimport (
  "html/template"
  "log"
  "net/http")func main() {
  // 设置 处理函数
  http.HandleFunc("/", TestAction)
   开启监听(监听浏览器请求)
  log.Fatal(http.ListenAndServe(":8084", nil))}func TestAction(w http.ResponseWriter, r *http.Request) {
  // 解析模板
  t, _ := template.ParseFiles("template/index.html")
  // 设置模板数据
  data := map[string]interface{}{
    "User": "小韩说课",
    "List": []string{"Go", "Python", "PHP", "JavaScript"},
  }
  // 渲染模板,发送响应
  t.Execute(w, data)}

#template/index.html

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>小韩说课</title></head><body>Hello, {{ .User }}<br>你熟悉的技术:<ul>{{ range .List }}    <li>{{.}}</li>{{end}}</ul></body></html>

執行結果:

Go語言中如何使用模板引擎

以上程式碼就完了模板引擎的基本使用,包括解析模板,渲染數據,回應結果操作。接下來詳細說明。

2 解析模板

函數template.ParseFiles(filenames ...string) (*Template, error) 可以解析模板文件,並得到模板對象。參數為模板文件。同時會以模板檔案的檔案名稱(不包含後綴名)作為模板的名字。

也可以使用 template.New("name").Parse(src string) 來建立模板對象,並完成解析模板內容。

3 應用資料並傳送回應

函數func (t *Template) Execute(wr io.Writer, data interface{}) error 將data 應用到解析好的模板上,並將輸出寫入wr。如果執行時出現錯誤,會停止執行,但有可能已經寫入wr部分資料。

data 資料可以接受任意類型,最常見的類型為:map[string]interface{},透過不同的下標來區分部分的分配資料。在範本中使用 .User.List 來存取指派資料中的 User 和 List。

完畢!

以上是Go語言中如何使用模板引擎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除