成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 詳解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)站的時候,我們常常將不變的部分提出成為模板,可變部分通過后端程序的渲染來生成動態(tài)網(wǎng)頁,golang提供了html/template包來支持模板渲染。

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

變量

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

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

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

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

在模板文件內(nèi), . 代表了當(dāng)前變量,即在非循環(huán)體內(nèi),.就代表了傳入的那個變量。假設(shè)我們定義了一個結(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)然,我們有時候需要定義變量,比如我們需要定義一個article變量,同時將其初始化為”hello”,那么我們可以這樣寫:

{{$article := "hello"}}

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

{{$article := .ArticleContent}}

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

函數(shù)

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

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

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

type FuncMap map[string]interface{}

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

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

{{funcname .arg1 .arg2}}

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

func add(left int, right int) int

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

{{add 1 2}}

就可以獲得

3

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

判斷

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

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

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

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

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

假設(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}}

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

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

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

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

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

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

模板的嵌套

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

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

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

{{template "navbar"}}

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

子模板的定義為:

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

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

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

{{template "navbar" .}}

就可以將當(dāng)前的變量傳給子模板了,這個也是相當(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)信息告之我們,我們將及時溝通與處理。本站內(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)民參考!
  • 推薦文章
    91精品久久久久久久久久久久久| 极品少妇一区二区三区精品视频| 男人添女人下面高潮视频| 成人视屏在线观看| xxxxx成人.com| 1区2区3区在线视频| 1区2区视频| 黄色一区二区视频| 国产精品裸体一区二区三区| 中文一区二区在线观看| 国产 欧美 自拍| 欧美午夜一区| 加勒比一区二区| 久久777国产线看观看精品| 亚洲福利av| 欧美精品videos另类日本| 五月天精品一区二区三区| 亚洲第一天堂av| 日韩免费观看视频| 欧美国产视频一区二区| 亚洲婷婷综合久久一本伊一区| 人妻激情偷乱视频一区二区三区| 成 人 黄 色 小说网站 s色| 潘金莲一级淫片aaaaaa播放| 欧美另类videosbestsex日本| 国产精品女主播一区二区三区| 鲁丝一区二区三区免费| 久久久久久国产精品| xxxx69视频| 国产精品激情自拍| 天堂在线免费观看| 亚洲天堂网一区二区| 精品综合久久88少妇激情| 人人爽久久涩噜噜噜网站| 久久午夜电影| 无码日韩人妻精品久久蜜桃| 亚洲男人天堂网址| 久久久久久久久久久久久久久久久久| 色婷婷一区二区三区在线观看| 欧美日韩国产专区| 啪啪导航网站| 日本三级电影网站| 日韩av午夜在线观看| 黄色片视频免费| 亚洲天堂视频在线播放| 欧美婷婷久久| 91在线资源站| 午夜av电影一区| 一级黄色短视频| 黄色一级片在线看| 天堂在线国产| 欧美成人精品一区二区免费看片| 成人免费观看在线网址| 91麻豆国产精品| 91麻豆精品久久毛片一级| 日本熟妇色xxxxx日本免费看| 超碰精品在线观看| 亚洲国产精品一区二区第四页av| 147欧美人体大胆444| sm久久捆绑调教精品一区| 裸体网站视频| 成人做爽爽免费视频| 亚洲人成电影| 91美剧网在线播放| 范冰冰一级做a爰片久久毛片| 色999日韩自偷自拍美女| 99精品视频免费版的特色功能| 国产视频三区四区| 国产又黄又猛的视频| 国产一级免费| 91看片淫黄大片91| 亚洲一区美女视频在线观看免费| 肥臀熟女一区二区三区| 久久视频精品在线观看| 91精品国产色综合久久不卡粉嫩| 日av在线播放中文不卡| 一本久久精品| 日本电影一区二区三区| 在线电影一区二区| 日本亚洲精品| 欧美色18zzzzxxxxx| 久久精品国产久精国产| 韩国理伦片一区二区三区在线播放| 久久激情综合| 国产精品国产一区二区三区四区| 国产成a人无v码亚洲福利| 在线观看一区二区精品视频| 浮力国产第一页| 一本加勒比波多野结衣| 国产精品高清亚洲| 色先锋aa成人| 色综合老司机第九色激情| 欧美va亚洲va日韩∨a综合色| 91精品美女| 亚洲欧美在线磁力| 国产精品高潮呻吟久久av黑人| 亚洲专区一区二区三区| 国产日韩欧美一二三区| 中文字幕乱在线伦视频乱在线伦视频| 国产成人精品白浆久久69| 亚洲视频在线一区观看| 68精品久久久久久欧美| 91国在线视频| 99久久伊人网影院| 中国人与牲禽动交精品| 欧美一区二区三区喷汁尤物| av免费观看国产| 国产在线精品一区在线观看麻豆| 国产在线精品一区二区三区| 永久免费毛片在线播放不卡| aⅴ在线免费观看| 国产亚洲精品自拍| 欧美一区二区三区白人| 成年网站在线看| 一区二区三区日韩在线| 国产免费人人看| 久久成年人免费电影| 激情内射人妻1区2区3区| 精品伦一区二区三区| 91po在线观看91精品国产性色| 免费不卡中文字幕在线| 欧美黄色免费在线观看| 深田咏美中文字幕| 成人97精品毛片免费看| 国产精品三级久久久久久电影| 青草av在线| 日本少妇毛茸茸高潮| 午夜性色福利影院| eeuss影院在线观看第一页| 无套内谢大学处破女www小说| 午夜精品久久久久久久久久久| 亚洲系列在线观看| 欧美激情一区二区三区在线视频观看| www.日韩.com| 国产成人精品视频ⅴa片软件竹菊| 国语对白在线视频| 亚洲天天做日日做天天谢日日欢| 亚洲国产精品久久久久秋霞不卡| 波霸ol色综合久久| 99色精品视频| 一级黄色毛毛片| 成年人免费看的视频| 欧美日韩一区二区三| 欧洲猛交xxxx乱大交3| 你懂的网站在线播放| 日本亚洲天堂网| 五月天丁香综合久久国产| 亚洲欧洲中文天堂| 国产亚洲综合在线| 国产精品a久久久久| 国产精品com| 色综合久久88色综合天天免费| 欧美日本一区二区视频在线观看| 亚洲国产一区在线| 国产成人午夜片在线观看高清观看| 永久久久久久久| 久久亚洲综合色| 一区二区久久| 亚洲色图日韩精品| 男人天堂新网址| 91麻豆国产福利在线观看宅福利| 另类美女黄大片| 一本色道久久| 亚洲网站在线播放| 老牛影视一区二区三区| 超碰在线97av| eeuss影院18直达| 亚洲欧美综合自拍| 日韩精品人妻中文字幕| 久久国产精品 国产精品| 非洲黑人最猛性xxxx交| 亚洲精品乱码久久久久久| 69久久夜色精品国产7777| 欧美人成在线观看ccc36| 黄色小视频免费观看| 精品成人无码一区二区三区| 欧美一区二区三区爽大粗免费| 天堂资源在线亚洲资源| gogo亚洲国模私拍人体| 韩日中文字幕| 国产精品区一区二区三在线播放| 欧美精品啪啪| 亚洲精品合集| 黄色网免费观看| 成人xvideos免费视频| 国产免费无码一区二区视频| www黄色网址| 一级日韩一区在线观看| 国产毛片精品久久| 7777精品伊人久久久大香线蕉的| 日本a级在线| 给我免费播放日韩视频| 久久精品国产亚洲a∨麻豆| 97se亚洲国产综合自在线观| 亚洲a中文字幕| 亚洲高清不卡在线| 日本免费一区二区六区| 国产精品综合网| 成人一区二区三区视频| 美乳在线观看| 菠萝菠萝蜜网站| 一本大道一区二区三区| 超级黄的软件| 大地资源高清在线视频观看| 亚洲国产果冻传媒av在线观看| 久久狠狠一本精品综合网| 久久久久国色av免费观看性色| 久久99视频免费| 日本福利视频在线| 亚洲欧洲日韩精品在线| 国产激情无套内精对白视频| 精东粉嫩av免费一区二区三区| 同房视频网站| 三级在线看中文字幕完整版| 日本不卡影院| 久久嫩草精品久久久精品一| 制服丝袜中文字幕一区| 影音先锋中文字幕第一页| 一级黄色大片免费| 国产精品一区久久久久| 在线观看黄色国产| 任你躁av一区二区三区| 久久精品女人的天堂av| 在线三级av| 欧美亚洲愉拍一区二区| 中国av在线播放| 午夜国产一区| 日韩精品久久久久久久的张开腿让| 北条麻妃一区二区三区中文字幕| 9.1麻豆精品| 好吊妞这里只有精品| 最新中文字幕在线视频| 日韩免费观看高清完整版在线观看| sihu影院永久在线影院| 伊人成综合网| 亚洲一区二区三区免费观看| 欧美日韩一区二区三区不卡| 亚洲毛片欧洲毛片国产一品色| 日韩精品成人一区| 亚洲欧美日韩精品久久| 99v久久综合狠狠综合久久| 日本一区福利在线| 麻豆91蜜桃| free欧美性| 可以直接看的黄色网址| 偷拍日韩校园综合在线| 伊人婷婷欧美激情| 欧美精品日韩www.p站| 欧美黑人做爰爽爽爽| 91精品视频大全| 二吊插入一穴一区二区| 亚洲片av在线| 精品丰满少妇一区二区三区| 婷婷综合在线| 日本在线啊啊| 在线观看午夜看亚太视频| 国产一级精品在线| 不卡av电影在线观看| 国产激情无套内精对白视频| 奇米成人av国产一区二区三区| 亚洲欧美成人影院| 亚洲综合最新在线| 人妻精品一区一区三区蜜桃91| 国产精品偷伦免费视频观看的| 一区二区三区播放| 少妇人妻好深好紧精品无码| 国产三级视频网站| 新天堂中文资源官网在线观看| 在线欧美福利| 风间由美久久久| 成人网在线免费观看| 真实乱视频国产免费观看| 国产精品一二三在| 色一情一交一乱一区二区三区| 国产精品伊人日日| 男人午夜免费视频| 亚洲第九十九页| 日本69式三人交| 欧美日韩一卡二卡三卡| 亚洲中无吗在线| 日本成人精品在线| 国产精品久久久久久影视| 日本欧美韩国一区三区| 一菊综合网成人综合网| 日本三级片在线观看| mm131丰满少妇人体欣赏图| 成人久久18免费网站图片| 91精品一区二区三区在线观看| 日本黄色录像片| 天天夜碰日日摸日日澡性色av| www.av蜜桃| 精品美女www爽爽爽视频| 亚洲在线观看网站| 精品亚洲成a人在线观看| 亚洲电影成人成人影院| 日韩一级理论片| 国产91精品久久久| 国产一区二区免费视频| 亚洲欧洲日本在线| 久久av秘一区二区三区| 99视频免费播放| 日韩精品中文字幕视频在线| 久久久日本电影| 国产成人福利av| 久久久综合精品| 欧美e片成人在线播放乱妇| 6080午夜| 四虎免费av| 性猛交富婆╳xxx乱大交天津| 久久国产精品偷| 97在线公开视频| 国产美女高潮在线| 久久久在线免费观看| 清纯唯美亚洲经典中文字幕| 欧美日韩偷拍视频| 在线播放精品视频| 色香色香欲天天天影视综合网| 香蕉久久免费影视| 亚洲国产欧美日韩另类综合| av成人免费在线观看| 国产老肥熟xxxx在线观看| 一区二区三区在线观看免费| 国产中文字幕一区| 天天操天天综合网| 久久综合偷偷噜噜噜色| 成人福利网站在线观看| 精品视频在线观看一区二区| 久久综合国产精品台湾中文娱乐网|