欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Go語(yǔ)言中如何使用模板引擎

創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的江華網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

下面由golang教程欄目給大家介紹Go語(yǔ)言中使用模板引擎,希望對(duì)需要的朋友有所幫助!

1 概述

處理響應(yīng)主體時(shí),最常見(jiàn)的方式就是發(fā)送處理好的 HTML 代碼,由于需要將數(shù)據(jù)嵌入到 HTML 中,那么模板引擎(template engine)就是最好的選擇。

Go語(yǔ)言中,提供了 html/template包,實(shí)現(xiàn)模板引擎的相關(guān)功能。快速使用示例:

main.go

package mainimport (
  "html/template"
  "log"
  "net/http")func main() {
  // 設(shè)置 處理函數(shù)
  http.HandleFunc("/", TestAction)
   開(kāi)啟監(jiān)聽(tīng)(監(jiān)聽(tīng)瀏覽器請(qǐng)求)
  log.Fatal(http.ListenAndServe(":8084", nil))}func TestAction(w http.ResponseWriter, r *http.Request) {
  // 解析模板
  t, _ := template.ParseFiles("template/index.html")
  // 設(shè)置模板數(shù)據(jù)
  data := map[string]interface{}{
    "User": "小韓說(shuō)課",
    "List": []string{"Go", "Python", "PHP", "JavaScript"},
  }
  // 渲染模板,發(fā)送響應(yīng)
  t.Execute(w, data)}

template/index.html

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>小韓說(shuō)課</title></head><body>Hello, {{ .User }}<br>你熟悉的技術(shù):<ul>{{ range .List }}    <li>{{.}}</li>{{end}}</ul></body></html>

執(zhí)行結(jié)果:

以上代碼就完了模板引擎的基本使用,包括解析模板,渲染數(shù)據(jù),響應(yīng)結(jié)果操作。接下來(lái)詳細(xì)說(shuō)明。

2 解析模板

函數(shù) template.ParseFiles(filenames ...string) (*Template, error)可以解析模板文件,并得到模板對(duì)象。參數(shù)為模板文件。同時(shí)會(huì)以模板文件的文件名(不包含后綴名)作為模板的名字。

還可以使用 template.New("name").Parse(src string)來(lái)創(chuàng)建模板對(duì)象,并完成解析模板內(nèi)容。

3 應(yīng)用數(shù)據(jù)并發(fā)送響應(yīng)

函數(shù) func (t *Template) Execute(wr io.Writer, data interface{}) error將 data 應(yīng)用到解析好的模板上,并將輸出寫(xiě)入 wr。如果執(zhí)行時(shí)出現(xiàn)錯(cuò)誤,會(huì)停止執(zhí)行,但有可能已經(jīng)寫(xiě)入wr部分?jǐn)?shù)據(jù)。

data 數(shù)據(jù)可以接受任意類型,最常見(jiàn)的類型為:map[string]interface{},通過(guò)不同的下標(biāo)來(lái)區(qū)分部分的分配數(shù)據(jù)。在模板中使用 .User.List來(lái)訪問(wèn)分配數(shù)據(jù)中的 User 和 List。

完!

新聞標(biāo)題:Go語(yǔ)言中如何使用模板引擎
本文URL:http://www.chinadenli.net/article6/cggsog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站電子商務(wù)網(wǎng)站導(dǎo)航Google定制開(kāi)發(fā)靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名