国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Gin模板語法

這篇具有很好參考價值的文章主要介紹了Gin模板語法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Gin模板語法

前提提醒

  • 由于有了前面template包的基礎,所以該筆記不再過多詳細分析

Gin框架啟動服務器

  • 語法:
    • r:=gin.Default()//獲取一個Engine變量
    • r.Get("網站路徑",handleFunc...)//Get請求
    • r.Run(addr ...string)//啟動服務器

模板解析

  • 語法:
    • r.LoadHTMLFiles(...filename)
    • r.LoadHTMLGlob("./ginTemplates/**/*")(正則表達式解析所有文件,"**"代表表示任意層級子目錄, *代表任意文件

模板渲染

  • 語法:

    • r.Get("網站路徑",handleFunc...)

    • 例子

      r.GET("/posts/index", func(c *gin.Context) {
      		c.HTML(http.StatusOK, "posts/index.tmpl", gin.H{
      			"title": "歡迎來到POSTS世界",
      			"url":   "<a href = 'http://localhost:9000/users/index'>USER世界</a>",
      		})
      	})
      

遇到不同目錄下相同的文件如何加載和渲染

  • 方法: 在tmpl模板中用define關鍵字定義名字,再解析

  • 例子:文章來源地址http://www.zghlxwxcb.cn/news/detail-641558.html

    {{/*通過定義名字區(qū)分不同目錄下相同文件名的文件渲染和解析*/}}
    {{define "posts/index.tmpl"}}//<----主要是這里
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        {{/*加載css靜態(tài)文件需要在頭部連接*/}}
        <link  rel="stylesheet" href="/xxx/index.css">
        <title>Gin模板渲染</title>
    </head>
    <body>
    <script src = "/xxx/index.js"></script>
    <h1>{{.title}}</h1>
    <p>{{.url | safe}}</p>
    <p>{{hello}}</p>
    </body>
    </html>
    {{end}}
    

自定義函數(shù)

  • 語法:

    • r.SetFuncMap(funcMap template.FuncMap)//其內部包裝的是 template.FuncMap,所以原理一樣
  • 注意:需要在模板解析前添加自定義函數(shù)

  • 例子

    	r.SetFuncMap(template.FuncMap{
    		"safe": func(str string) template.HTML {
    			return template.HTML(str) //強轉
    		},
    		"hello": func() string {
    			return "hello"
    		},
    	})
    
  • 用法:

    • 像是safe這種可以傳參的,可以通過"|"符號應用到某個字符中

    • 例子:

      //tmpl
      <p>{{.url | safe}}</p>
      
      //后端
      r.GET("/posts/index", func(c *gin.Context) {
      		c.HTML(http.StatusOK, "posts/index.tmpl", gin.H{
      			"title": "歡迎來到POSTS世界",
      			"url":   "<a href = 'http://localhost:9000/users/index'>USER世界</a>",
      		})
      	})
      
      • 這里的url會被轉義為template.HTML類型輸出到網頁中
    • hello這種只是傳文字的可以直接使用

    • 例子:

      //tmpl
      <p>{{hello}}</p>
      
      //后端
      r.GET("/posts/index", func(c *gin.Context) {
      		c.HTML(http.StatusOK, "posts/index.tmpl", gin.H{
      			"title": "歡迎來到POSTS世界",
      			"url":   "<a href = 'http://localhost:9000/users/index'>USER世界</a>",
      		})
      	})
      

加載靜態(tài)文件

  • 語法: r.Static(參數(shù)1,參數(shù)2)

    • 第一個參數(shù)"/xxx"表示在請求URL中使用的訪問前綴。
      第二個參數(shù):為實際文件所在目錄的路徑*/
      
  • 使用

    • css中演示(其他基本一致)

    • 例子:

      <link  rel="stylesheet" href="/xxx/index.css">
      
      //后端
      r.Static("/xxx", "./statics")
      
      • 這里的/xxx是請求URL中使用的訪問前綴
      • ./statics為文件目錄的路徑
      • /index.css為目標文件的路徑

到了這里,關于Gin模板語法的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Gin之gin介紹和安裝

    1.1 gin 是什么? Gin 是一個用 Go (Golang) 編寫的 HTTP web 框架。 它是一個類似于 martini 但擁有更好性能的 API 框架,由于 httprouter,速度提高了近 40 倍。如果你需要極好的性能,使用 Gin 吧。 https://github.com/go-martini/martini https://github.com/julienschmidt/httprouter 1.2 gin優(yōu)點? 快速 基于 R

    2024年01月21日
    瀏覽(15)
  • gin 框架中的 gin.Context

    Context 是 gin 中最重要的部分。 例如,它允許我們在中間件之間傳遞變量、管理流程、驗證請求的 JSON 并呈現(xiàn) JSON 響應。 Context 中封裝了原生的 Go HTTP 請求和響應對象,同時還提供了一些方法,用于獲取請求和響應的信息、設置響應頭、設置響應狀態(tài)碼等操作。 在 Gin 中,C

    2024年02月14日
    瀏覽(26)
  • Gin學習記錄1——認識與下載Gin

    我為什么要學Gin : Python 做后臺可能效率不太高,用 Go 可能更合適一點 Gin 性能夠強,安裝方便,資料算比較豐富,用的人多, github ☆ 多 更適合前后端分離開發(fā) Server Less 部署方便;打包成二進制可執(zhí)行文件也方便。 開發(fā)環(huán)境: go1.21.0 + VS Code 安裝 Go 略過 然后安裝 Gin 之前

    2024年02月09日
    瀏覽(16)
  • gin源碼分析(2)gin啟動http服務

    gin.Run()函數(shù)調用go的官方包啟動了一個http服務,并實現(xiàn)了http服務的回調ServeHTTP函數(shù)。當請求來的時候會調用gin的ServeHTTP函數(shù) 調用 請求進來后后,調用Nex()函數(shù)后,所有的中間件(這里包括請求的處理函數(shù))都會遍歷運行 Next()調用順序分析 分析: NEXT()調用c.handlers[c.index](c)執(zhí)

    2024年04月09日
    瀏覽(13)
  • 解決GO安裝gin框架(go get -u github.com/gin-gonic/gin)超時問題

    解決GO安裝gin框架(go get -u github.com/gin-gonic/gin)超時問題

    ??gin框架github地址:https://github.com/gin-gonic/gin ??????? 按照官方文檔安裝gin,但是嘗試了好幾次,包括使用國內網絡或者使用梯子,都超時失敗了,爆了如下超時錯誤 ?? 解決方法如下 1、先查看go相關的配置 如上顯示GOPROXY配置是https://proxy.golang.org,這個地址已經被墻了,

    2024年02月11日
    瀏覽(26)
  • Gin-swaggo為gin框架提供Swagger 文檔

    官方: https://github.com/swaggo/gin-swagger 開始使用 為API方法增加注釋,加在controller(api)層,?See Declarative Comments Format. 運行下面命令下載swgo: Go 1.17后的版本, 使用? go get 安裝可執(zhí)行文件已被廢棄 . 用 go install代替 : 在你的go項目根目錄運行swga(上文下載的exe)(比方說? ~/root/go-project-nam

    2024年02月09日
    瀏覽(40)
  • G0第21章 :gin框架介紹、RESTful API、Gin渲染

    G0第21章 :gin框架介紹、RESTful API、Gin渲染

    Web是基于HTTP協(xié)議進行交互的應用網絡 Web就是通過使用瀏覽器/APP訪問的各種資源 Gin是一個用Go語言編寫的web框架。 它是一個類似于 martini但擁有更好性能的API框架, 由于使用了 httprouter,速度提高了近40倍。 如果你是性能和高效的追求者,你會愛上Gin Go世界里最流行的Web框架

    2024年02月06日
    瀏覽(21)
  • [golang gin框架] 39.Gin商城項目-微服務實戰(zhàn)之微服務架構

    [golang gin框架] 39.Gin商城項目-微服務實戰(zhàn)之微服務架構

    單體架構在 中小企業(yè)內部 用的是非常多的,當 業(yè)務不復雜 , 團隊規(guī)模不大 的時候,單體架構比微服務架構具有 更高的生產率 單體架構 當 業(yè)務比較復雜 , 并發(fā)量 比較大, 團隊規(guī)模擴大的時候, 就需要引入微服務架構了,它比單體架構 具有 更高的生產率, 可以 節(jié)省成本 , 解

    2024年02月12日
    瀏覽(34)
  • 【Golang | Gin】net/http和Gin起web服務時的簡單對比

    Gin 是一個用 Go (Golang) 編寫的 Web 框架,詳細介紹參考官網:https://gin-gonic.com/zh-cn/docs/introduction/ 開始學習Gin之前,我們先首先回顧下使用net/http起一個簡單的helloworld服務 注: 1、 http.HandleFunc : 使用一個默認的 DefaultServeMux 來注冊路由信息。 / 是一個 pattern , greet 是一個 ha

    2024年02月08日
    瀏覽(26)
  • Go Gin Gorm Casbin權限管理實現(xiàn) - 3. 實現(xiàn)Gin鑒權中間件

    Go Gin Gorm Casbin權限管理實現(xiàn) - 3. 實現(xiàn)Gin鑒權中間件

    Casbin是用于Golang項目的功能強大且高效的開源訪問控制庫。 強大通用也意味著概念和配置較多,具體到實際應用(以Gin Web框架開發(fā))需要解決以下問題: 權限配置的存儲,以及 增刪改查 Gin框架的中間件如何實現(xiàn) 經過一番摸索實踐出經驗,計劃分為三個章節(jié),循序漸進的介紹

    2024年02月07日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包