午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > 詳解golang 模板(template)的常用基本語法

詳解golang 模板(template)的常用基本語法

熱門標(biāo)簽:南通如皋申請開通400電話 學(xué)海導(dǎo)航地圖標(biāo)注 地圖標(biāo)注的汽車標(biāo) 浙江高速公路地圖標(biāo)注 廣州呼叫中心外呼系統(tǒng) 西部云谷一期地圖標(biāo)注 高德地圖標(biāo)注口訣 江西轉(zhuǎn)化率高的羿智云外呼系統(tǒng) 中國地圖標(biāo)注省會高清

模板

在寫動態(tài)頁面的網(wǎng)站的時(shí)候,我們常常將不變的部分提出成為模板,可變部分通過后端程序的渲染來生成動態(tài)網(wǎng)頁,golang提供了html/template包來支持模板渲染。

這篇文章不討論golang后端的模板讀取及渲染方法,只討論模板中嵌入變量,渲染變量、循環(huán)等一些基本用法。

變量

在golang渲染template的時(shí)候,可以接受一個(gè)interface{}類型的變量,我們在模板文件中可以讀取變量內(nèi)的值并渲染到模板里。

有兩個(gè)常用的傳入?yún)?shù)的類型。一個(gè)是struct,在模板內(nèi)可以讀取該struct域的內(nèi)容來進(jìn)行渲染。還有一個(gè)是map[string]interface{},在模板內(nèi)可以使用key來進(jìn)行渲染。

我一般使用第二種,效率可能會差一點(diǎn)兒,但是用著方便。

模板內(nèi)內(nèi)嵌的語法支持,全部需要加{{}}來標(biāo)記。

在模板文件內(nèi), . 代表了當(dāng)前變量,即在非循環(huán)體內(nèi),.就代表了傳入的那個(gè)變量。假設(shè)我們定義了一個(gè)結(jié)構(gòu)體:

type Article struct {
  ArticleId int
  ArticleContent string
}

那么我們在模板內(nèi)可以通過

p>{{.ArticleContent}}span>{{.ArticleId}}/span>/p>

來獲取并把變量的內(nèi)容渲染到模板內(nèi)。假設(shè)上述的結(jié)構(gòu)體的內(nèi)容為ArticleId:1 ArticleContent:”hello”, 則對應(yīng)渲染后的模板內(nèi)容為:

p>hellospan>1/span>/p>

是不是很簡單呢。

當(dāng)然,我們有時(shí)候需要定義變量,比如我們需要定義一個(gè)article變量,同時(shí)將其初始化為”hello”,那么我們可以這樣寫:

{{$article := "hello"}}

假設(shè)我們想要把傳入值的內(nèi)容賦值給article,則可以這樣寫:

{{$article := .ArticleContent}}

這樣我們只要使用{{$article}}則可以獲取到這個(gè)變量的內(nèi)容。

函數(shù)

golang的模板其實(shí)功能很有限,很多復(fù)雜的邏輯無法直接使用模板語法來表達(dá),所以只能使用模板函數(shù)來繞過。

首先,template包創(chuàng)建新的模板的時(shí)候,支持.Funcs方法來將自定義的函數(shù)集合導(dǎo)入到該模板中,后續(xù)通過該模板渲染的文件均支持直接調(diào)用這些函數(shù)。

該函數(shù)集合的定義為:

type FuncMap map[string]interface{}

key為方法的名字,value則為函數(shù)。這里函數(shù)的參數(shù)個(gè)數(shù)沒有限制,但是對于返回值有所限制。有兩種選擇,一種是只有一個(gè)返回值,還有一種是有兩個(gè)返回值,但是第二個(gè)返回值必須是error類型的。這兩種函數(shù)的區(qū)別是第二個(gè)函數(shù)在模板中被調(diào)用的時(shí)候,假設(shè)模板函數(shù)的第二個(gè)參數(shù)的返回不為空,則該渲染步驟將會被打斷并報(bào)錯(cuò)。

在模板文件內(nèi),調(diào)用方法也非常的簡單:

{{funcname .arg1 .arg2}}

假設(shè)我們定義了一個(gè)函數(shù)

func add(left int, right int) int

則在模板文件內(nèi),通過調(diào)用

{{add 1 2}}

就可以獲得

3

這個(gè)結(jié)果,golang的預(yù)定義函數(shù)沒有add,所以有點(diǎn)兒麻煩。

判斷

golang的模板也支持if的條件判斷,當(dāng)前支持最簡單的bool類型和字符串類型的判斷

{{if .condition}}
{{end}}

當(dāng).condition為bool類型的時(shí)候,則為true表示執(zhí)行,當(dāng).condition為string類型的時(shí)候,則非空表示執(zhí)行。

當(dāng)然也支持else , else if嵌套

{{if .condition1}}
{{else if .contition2}}
{{end}}

假設(shè)我們需要邏輯判斷,比如與或、大小不等于等判斷的時(shí)候,我們需要一些內(nèi)置的模板函數(shù)來做這些工作,目前常用的一些內(nèi)置模板函數(shù)有:

  • not 非

{{if not .condition}}
{{end}}

  • and 與

{{if and .condition1 .condition2}}
{{end}}

  • or 或

{{if or .condition1 .condition2}}
{{end}}

  • eq 等于

{{if eq .var1 .var2}}
{{end}}

  • ne 不等于

{{if ne .var1 .var2}}
{{end}}

  • lt 小于 (less than)

{{if lt .var1 .var2}}
{{end}}

  • le 小于等于

{{if le .var1 .var2}}
{{end}}

  • gt 大于

{{if gt .var1 .var2}}
{{end}}

  • ge 大于等于

{{if ge .var1 .var2}}
{{end}}

循環(huán)

golang的template支持range循環(huán)來遍歷map、slice內(nèi)的內(nèi)容,語法為:

{{range $i, $v := .slice}}
{{end}}

在這個(gè)range循環(huán)內(nèi),我們可以通過iiv來訪問遍歷的值,還有一種遍歷方式為:

{{range .slice}}
{{end}}

這種方式無法訪問到index或者key的值,需要通過.來訪問對應(yīng)的value

{{range .slice}}
{{.field}}
{{end}}

當(dāng)然這里使用了.來訪問遍歷的值,那么我們想要在其中訪問外部的變量怎么辦?(比如渲染模板傳入的變量),在這里,我們需要使用$.來訪問外部的變量

{{range .slice}}
{{$.ArticleContent}}
{{end}}

模板的嵌套

在編寫模板的時(shí)候,我們常常將公用的模板進(jìn)行整合,比如每一個(gè)頁面都有導(dǎo)航欄和頁腳,我們常常將其編寫為一個(gè)單獨(dú)的模塊,讓所有的頁面進(jìn)行導(dǎo)入,這樣就不用重復(fù)的編寫了。

任何網(wǎng)頁都有一個(gè)主模板,然后我們可以在主模板內(nèi)嵌入子模板來實(shí)現(xiàn)模塊共享。

當(dāng)模板想要引入子模板的時(shí)候,我們使用以下語句:

{{template "navbar"}}

這樣子就會嘗試載入名稱為navbar的子模板,同時(shí)我們也得定義一個(gè)子模板來實(shí)現(xiàn)”navbar”這個(gè)子模板。

子模板的定義為:

{{define "navbar"}}
{{end}}

在定義之間的內(nèi)容將會覆蓋{{template “navbar”}}

當(dāng)然子模板是分離了,那么子模板能否獲得父模板的變量呢?這是當(dāng)然的,我們只需要使用

{{template "navbar" .}}

就可以將當(dāng)前的變量傳給子模板了,這個(gè)也是相當(dāng)方便的。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • golang的基礎(chǔ)語法和常用開發(fā)工具詳解
  • 對Golang import 導(dǎo)入包語法詳解
  • 手把手帶你走進(jìn)Go語言之語法基礎(chǔ)解析

標(biāo)簽:貴州 常州 保定 吐魯番 許昌 曲靖 德宏 東營

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解golang 模板(template)的常用基本語法》,本文關(guān)鍵詞  詳解,golang,模板,template,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解golang 模板(template)的常用基本語法》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解golang 模板(template)的常用基本語法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产日韩欧美视频在线观看| 国产一区三区三区| 26uuu亚洲| 亚洲大胆人体在线| 91香蕉亚洲精品| 在线免费视频a| 国产精品久久久久久99| 久久免费偷拍视频| 日韩久久精品成人| 久久精彩视频| 日本三级日本三级日本三级极| 一级黄色大片免费观看| 一区二区三区日韩欧美精品| 性色av一区二区三区在线观看| 日本一区免费观看| 中文字幕 自拍| 国产高清不卡一区| 亚洲美女中文字幕| 一区二区三区不卡在线| 粉嫩aⅴ一区二区三区| 国产精品福利电影一区二区三区四区| 欧美国产视频日韩| 国产情侣av自拍| 天堂成人免费av电影一区| 欧美日韩一级黄| 国产女人水真多18毛片18精品| 夫妇露脸对白88av| 99久久免费视频.com| 欧美成人中文字幕在线| 在线能看的av网站| 黄页网站大全一区二区| 色偷偷av一区二区三区乱| 91极品视频在线观看| 日韩中文字幕亚洲一区二区va在线| 欧美亚洲丝袜传媒另类| 国产一二三四区在线观看| 日本天堂在线视频| 欧美日韩高清一区二区不卡| 一区二区不卡视频| 精品人妻一区二区三区四区不卡| 欧美日韩视频在线第一区| 久久精品国产亚洲高清剧情介绍| 日韩欧美综合在线视频| 深爱五月激情网| 一区二区三区中文字幕| 91.com在线| 26uuu色噜噜精品一区二区| 欧美电影在线免费观看| xxxx一级片| 亚洲国产高清不卡| 日本视频一区二区在线观看| 秋霞网一区二区| 午夜精品99久久免费| 福利一区二区三区四区| 欧美日韩国产片| 国产精品xxxx| 国产乱码在线观看| 亚洲人a成www在线影院| 久久黄色一级视频| 国产精品美女一区二区三区| 国产一区免费在线| 精品久久久久久亚洲综合网站| 伊人久久精品视频| 免费人成精品欧美精品 | 精品国一区二区三区| 精品人妻人人做人人爽| 日本aⅴ亚洲精品中文乱码| 亚洲97在线观看| 亚洲第一中文av| 中文字幕va一区二区三区| 欧美精品久久| 国内不卡的二区三区中文字幕| 欧美最猛性xxxxx亚洲精品| 天堂网av手机版| 丝袜美腿精品国产二区| 国产一级片视频| 一道本无吗dⅴd在线播放一区| 免费一级黄色录像| 亚洲精品一区二区三区福利| 伊人网综合视频| 麻豆成人在线看| 国产精品主播视频| 国产又粗又长又爽| 国产精品美女久久久久久久| 亚洲成人xxx| 亚洲日本一区二区三区在线不卡| 欧美日韩高清在线一区| 亚洲精品国产欧美在线观看| 日本一区二区在线播放| 久久狠狠婷婷| 在线成人免费av| 精品国产一区二区三区久久久蜜月 | 好吊色视频一区二区三区| 成人av免费在线播放| 国产黄色免费视频| 国产精品日韩欧美综合| 一区二区三区精彩视频| 国产成人综合精品在线| 美女网站一区二区| 在线成人av电影| 不卡区在线中文字幕| 97视频久久久| 一区二区久久久久久| 国产精品日日摸夜夜爽| 亚洲视频在线看| 国产视频手机在线| 91久久精品在线| 狠狠色狠狠色综合日日91app| 欧美精品一区三区在线观看| 中文字幕av在线一区二区三区| 成人在线观看黄| 欧美精品日韩精品| 亚洲天堂av中文字幕| 日韩美女视频免费看| 久久一二三四| 亚洲人成人77777线观看| 精品国产福利在线| 九九九在线视频| 国产日韩精品综合网站| 久久精品视频网| 91在线视频观看免费| 91精品国产一区二区| 一级日韩一级欧美| 欧美亚洲视频一区| 7777精品伊人久久久大香线蕉的| 久久精品日韩无码| 动漫美女被爆操久久久| 婷婷开心久久网| 日韩精品一区二区亚洲av| 国产欧美一区二区三区另类精品| 亚洲色图视频免费播放| 日本猛少妇色xxxxx免费网站| 欧美亚洲激情在线| 亚洲国产精品成人综合色在线婷婷| 亚洲中文字幕无码不卡电影| 亚洲欧美日韩国产中文| av网站在线免费看| 精品久久久久久久久久久久久久久| 国产伦理在线观看| 日产精品久久久一区二区福利| 亚洲精品成人在线| 东方aⅴ免费观看久久av| 国产精品看片资源| 91免费国产在线| 亚洲午夜精品久久久久久久久久久久| 丁香花免费高清完整在线播放 | 欧美福利精品| 亚洲第一av网站| 国产一区在线精品| 久久久男人的天堂| 91精品国产91久久久| 国产精品的网站| 亚洲欧美va天堂人熟伦| 久久久精品国产一区二区三区| 精品视频999| av大片在线免费观看| 男女猛烈激情xx00免费视频| 91精品欧美久久久久久动漫| 黄片毛片在线看| 免费观看精品视频| 日本伊人精品一区二区三区介绍| 一区二区三区中文字幕| www成人在线| 激情伊人五月天| 美日韩精品免费视频| 亚洲欧洲精品一区二区精品久久久 | 精品国产乱码久久久久久108| 欧美视频免费在线观看| 中文字幕视频在线播放| 在线观看亚洲色图| 精品福利影视| 欧美精品福利在线| 欧美日韩国产首页| 久久久久99精品国产片| 国产免费的av| 国产精品视频一区二区在线观看| 精品国产一区二区三区麻豆小说| 综合136福利视频在线| 精品国产乱码久久久久久虫虫漫画| 成人免费毛片男人用品| 国产精品探花在线播放| 99久久无色码| 97国产真实伦对白精彩视频8| 国产精品一级片在线观看| 日本韩国欧美中文字幕| 日本黄色网址大全| 黄色片网址在线观看| 久久精品国产综合精品| 欧美福利在线观看| 亚洲新中文字幕| 日韩欧美在线国产| 国产在线精品免费| 国产真实夫妇交换视频| 亚洲欧美日本一区| 国产精品一区二区羞羞答答| 亚洲欧洲精品一区| 国产精品国产三级国产专播精品人 | 欧美一区二不卡视频| 貂蝉被到爽流白浆在线观看| 人人妻人人添人人爽欧美一区| 久久久极品av| 天天爽夜夜爽夜夜爽精品视频| 久久久久成人黄色影片| 成人黄色777网| 国产精品一区二区不卡| 三级一区在线视频先锋| 欧美女同在线观看| 国产91av视频在线观看| 97av在线视频免费播放| 日韩在线免费高清视频| 中文字幕亚洲欧美日韩2019| 欧美午夜精品一区二区三区 | 私库av在线播放| 亚洲乱码中文字幕久久孕妇黑人| 国偷自产av一区二区三区小尤奈| 97精品视频在线播放| 欧美激情视频一区| 在线播放日韩av| 欧美群妇大交群中文字幕| 天天色 色综合| 久久久国产综合精品女国产盗摄| 国产又黄又大久久| 成人久久视频在线观看| 久久久噜噜噜| 国产麻豆视频精品| 国产一区二区0| 日韩国产高清在线| 理论片中文字幕| 免费精品99久久国产综合精品| 国产一区二区三区精品视频| 天堂久久一区二区三区| 免费看污片的网站| 性欧美丰满熟妇xxxx性久久久| 婷婷免费在线观看| 手机看片福利日韩| 美女伦理水蜜桃4| 性色国产成人久久久精品| 91久久久久久久久久久久久久| 国产手机在线视频| 久久国产高清视频| 女人裸体性做爰全过| www.av免费| 天天天天天天天干| 在线免费av网| 国产成人亚洲综合色影视| 国产高清成人在线| 国产精品伦一区| 3d动漫精品啪啪一区二区竹菊| 日韩精品在线观看一区| 国精产品一区一区三区有限在线| 韩剧1988免费观看全集| 国精产品一区二区| 成人性生生活性生交12| 美女流白浆视频| 人妻互换一区二区激情偷拍| 一级特黄aaa大片| 亚洲 精品 综合 精品 自拍| 久久久久久9999| 欧美人与z0zoxxxx视频| 永久免费毛片在线播放不卡| 亚洲自拍另类欧美丝袜| 亚洲中文字幕无码不卡电影| 三级视频网站在线观看| 日产欧产va高清| 日韩电影一二三区| 亚洲另类一区二区| 国产亚洲精品美女| 欧美国产高跟鞋裸体秀xxxhd| 国产精品一区二区免费不卡| 国产性色一区二区| 日韩色在线观看| 国产成人久久精品| 丰满女人性猛交| 激情黄色小视频| 88av在线播放| 人人妻人人澡人人爽人人欧美一区| 精品午夜一区二区三区在线观看| 91小视频在线| 欧美一区二区三区视频免费播放| 国产精品99久久久久久人| 亚洲国产欧美日韩| 国产福利短视频| 久久精品久久综合| 欧美午夜影院在线视频| 国产成一区二区| 色偷偷中文字幕| 日本少妇在线观看| 国产视频一区在线播放| 亚洲人成免费电影| 欧美xxxx吸乳| 日本黄色中文字幕| 国产欧美综合色| 亚洲欧美日韩另类| 亚洲一区美女视频在线观看免费| 日本中文字幕在线不卡| 91av久久久| 亚洲国产成人精品视频| 久久99久久99精品中文字幕| 成人av在线不卡| 日本精品入口免费视频| 1024手机在线观看你懂的| 26uuu精品一区二区三区四区在线| 亚洲另类在线制服丝袜| 国产欧美精品va在线观看| 欧美国产亚洲一区| 91tv国产成人福利| 欧美电影免费观看完整版| 日本不卡一二三区| 男人天堂视频在线| 亚洲国产精品成人久久综合一区| 97色在线播放视频| 香蕉网在线播放| 国产日韩欧美激情| 欧美亚洲一区在线| av天堂一区二区| 日欧美一区二区| 麻豆成人在线看| 无遮挡又爽又刺激的视频| 成人小说亚洲一区二区三区| 亚洲成人久久电影| 日本一区二区三区免费观看| 一区二区三区黄| 日韩一区二区在线观看| 亚洲 国产 日韩 综合一区| 国产男男gay体育生白袜| 亚洲精品之草原avav久久| 一区中文字幕在线观看| 亚州视频一区二区三区| 精品日韩一区二区| 手机看片福利日韩| 蜜臀久久久久久久| 亲爱的老师9免费观看全集电视剧| 人人人妻人人澡人人爽欧美一区| 国产精品久久久久永久免费观看| 99精彩视频| av中文字幕免费| 久久人人爽人人| 日本少妇毛茸茸高潮| 久久久欧美精品sm网站| 欧美裸体男粗大视频在线观看| 992kp免费看片| 久久久综合精品| 亚洲韩国欧洲国产日产av| caopor在线| 91国偷自产一区二区开放时间| 久久精品女人的天堂av| 国产伦子伦对白视频| 欧美日韩xxxxx| 欧美图片第一页| 欧美一卡二卡三卡| 搡老熟女老女人一区二区| 午夜视频一区在线观看| 国产精品久久久久7777| 国产精品一卡二卡| 秋霞午夜一区二区| hs视频在线观看| 国产成人亚洲综合91精品| 亚洲国产成人精品激情在线| 在线观看欧美视频| 中文字幕无码日韩专区免费| 日韩欧美高清在线| 永久免费看片在线观看| 欧美精品在线一区二区| 亚洲在线视频一区二区| 精品一区二区三区av| 成人精品网站在线观看| 日韩主播视频在线| 成人免费网站在线| 日日摸夜夜添夜夜添精品视频| 国产在线精品播放| 国产在线视频一区二区| 91福利视频网| 国产一区二区免费看| 正在播放一区| 久久亚洲捆绑美女| 91.com在线| 91极品美女在线| 国产美女久久久久久| 午夜精品在线视频| www.蜜桃av.com| 亚洲精品美女久久7777777| 亚洲人成7777| 亚洲中文字幕一区| 国产午夜精品在线观看| 成人h视频在线| 伊人精品一区二区三区| 欧美日韩一区在线视频| 亚洲一区二区三区四区在线免费观看 | 日本国产在线播放| 6080午夜不卡| 久久久免费看片| 久久精品99久久久久久久久| 国产模特av私拍大尺度| 国产精品国产三级国产专区53| 国产女人高潮毛片| 7m精品福利视频导航| 久久国产欧美日韩精品| 亚洲第一在线综合在线| 亚洲色图视频网站| 黄色三级视频在线| 精品香蕉一区二区三区| 97人妻精品一区二区三区软件| 婷婷久久五月天| 欧美一级一级性生活免费录像| 国产精品毛片久久久久久久av| 亚洲女人毛片| 亚洲电影免费观看高清完整版在线观看 | 国产精品第5页| 国产亚洲精品久久飘花| 欧美高清性hdvideosex|