知識分享之Golang——templates常用語法

知識分享之Golang——templates常用語法

背景

知識分享之Golang篇是我在日常使用Golang時(shí)學(xué)習(xí)到的各種各樣的知識的記錄,將其整理出來以文章的形式分享給大家,來進(jìn)行共同學(xué)習(xí)。歡迎大家進(jìn)行持續(xù)關(guān)注。

知識分享系列目前包含Java、Golang、Linux、Docker等等。

開發(fā)環(huán)境

  • 系統(tǒng):windows10
  • 語言:Golang
  • golang版本:1.17

內(nèi)容

在日常使用Golang進(jìn)行web項(xiàng)目開發(fā)時(shí),我們通常將HTML制作為模板(template)來使用,其中可變的部分通過后端接口進(jìn)行傳值的方式進(jìn)行動(dòng)態(tài)渲染,我們使用的gin框架可以快速加載template模板,詳細(xì)使用可以關(guān)注我后續(xù)的gin學(xué)習(xí)相關(guān)文章。

本節(jié)我們主要對于在HTML中進(jìn)行使用template常用的語法進(jìn)行整合,便于我們?nèi)粘?焖偈褂貌殚啞?/p>

1、頁面中引用傳輸過來的變量

<title>{{ .title}}</title>

其中{{}}是修飾符,表示這個(gè)是template語法,在模板HTML被加載時(shí)自動(dòng)化渲染,這個(gè)修飾符可以在gin加載模板文件時(shí)修改,例如修改為{%%},后續(xù)具體講解。
其中的點(diǎn)(.)表示這個(gè)變量是響應(yīng)中的變量

2、頁面中設(shè)置一個(gè)變量

{{$baseUrl := "http://127.0.0.1"}}

3、設(shè)置一個(gè)變量用于接受后端接口響應(yīng)過來的信息

{{$baseUrl := .domain}}

4、if判斷

{{ if .lang }}

{{end}}


{{ if .lang}}

{{else if .lang}}

{{end}}

5、if 非判斷

非判斷

{{if not .變量名}}
{{end}}

多對比
and 并且、or 或、eq等于、ne不等于、lt小于、le小于等于、gt大于、ge大于等于、

{{if [and/or/eq/ne/lt/le/gt/ge ] .變量名1 .變量2 }}
{{end}}

6、循環(huán)

快速遍歷對象
i是下標(biāo),v是遍歷出來的單個(gè)對象

{{range $i,$v := .變量集合}}
{{ $v.變量名}}
{{end}}

快速遍歷寫法,其中中間部分是訪問[變量集合]中遍歷的每個(gè)對象下的相關(guān)變量。
注:如果在遍歷循環(huán)內(nèi)部中使用外部變量,需要在變量前面加上,即.變量名

{{range  .變量集合}}
{{ .遍歷后對象中的某個(gè)變量 }}
{{end}}

7、聲明模板名稱

頂部添加,通常模板名稱在HTML頁面的頭和尾部,而HTML代碼放在模板內(nèi)容中。
{{define "模板名稱"}}
// 模板內(nèi)容

{{end}}

8、引用模板

{{template "引用的模板名稱" .}}
注意:在結(jié)束位置有一個(gè)點(diǎn)(.),這樣我們可以直接使用引用模板中的變量,通常我們都是帶有這個(gè)點(diǎn)的。

以上就是我們比較常用的一些語法,未包含的歡迎在留言區(qū)進(jìn)行留言,我將進(jìn)行補(bǔ)充,感謝。

本文聲明:

88x31.png

知識共享許可協(xié)議
本作品由 cn華少 采用 知識共享署名-非商業(yè)性使用 4.0 國際許可協(xié)議 進(jìn)行許可。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 模板 在寫動(dòng)態(tài)頁面的網(wǎng)站的時(shí)候,我們常常將不變的部分提出成為模板,可變部分通過后端程序的渲染來生成動(dòng)態(tài)網(wǎng)頁,gol...
    rushui閱讀 595評論 0 0
  • 摘要:Flask,Jinja2,HTML Flask模板引擎Jinja2簡述 模板實(shí)質(zhì)上是一個(gè)靜態(tài)的包含HTML語...
    xiaogp閱讀 2,388評論 0 1
  • 一、相關(guān)背景介紹 我們現(xiàn)在大多數(shù)人用的語法javascript 其實(shí)版本是ecmscript5,也是就es5。這個(gè)...
    sunnyghx閱讀 770評論 0 2
  • kotlin的基礎(chǔ)語法 函數(shù)定義 函數(shù)定義使用關(guān)鍵字 fun,參數(shù)格式為:參數(shù) : 類型 可變長參數(shù)函數(shù) 函數(shù)的變...
    不怕天黑_0819閱讀 8,916評論 0 5
  • 知識分享之Golang——go-i18n國際化組件 背景 知識分享之Golang篇是我在日常使用Golang時(shí)學(xué)習(xí)...
    cn華少閱讀 3,084評論 0 1

友情鏈接更多精彩內(nèi)容