Golang - Gin #5: 資源處理和 HTML 模板

閱讀時間約 2 分鐘
來源: Gin Logo + 自行用 Canva 製作

來源: Gin Logo + 自行用 Canva 製作

資源處理和 HTML 模板:在 Gin 中優雅地處理資源和視圖

嗨,各位 Golang 愛好者!今天我們來探討一個在Web開發中常見但卻至關重要的部分 - 資源和視圖。Gin框架使這一切都變得簡單,讓我們深入瞭解!

每個 Web 應用都需要一些靜態資源,比如圖片、CSS 和 JavaScript。Gin 為我們提供了方便的工具來處理這些資源,並利用模板引擎生成動態的 HTML 頁面。


📂 資源處理

Gin 允許你輕鬆地設置靜態資源的路由。以下是如何設置一個服務靜態檔案的例子:
func main() {
r := gin.Default()

// 服務靜態檔案
r.Static("/assets", "./assets")

r.Run(":8080")
}

這樣,你就可以透過 /assets 路徑訪問 ./assets 目錄下的所有靜態資源了!


📜 HTML 模板

Gin 還提供了一個強大的模板引擎。你可以這樣設置和使用模板:
func main() {
r := gin.Default()

// 加載模板
r.LoadHTMLGlob("templates/*")

r.GET("/home", func(c *gin.Context) {
// 使用模板
c.HTML(200, "index.html", gin.H{
"title": "歡迎使用Gin",
})
})

r.Run(":8080")
}

模板 index.html 可能像這樣:

<!DOCTYPE html>
<html>
<head>
<title>{{ .title }}</title>
</head>
<body>
<h1>{{ .title }}</h1>
</body>
</html>

透過這種方式,你可以根據不同的數據動態生成HTML頁面。


🎉 結論

不論是處理靜態資源還是使用模板引擎,Gin 都為我們提供了簡單且高效的方法。希望你現在對如何在 Gin 中處理資源和視圖有了更清晰的認識。接下來,盡情享受你的 Gin 開發之旅吧!



感謝

謝謝大家看完這篇,如果您喜歡我的文章,歡迎 小額贊助我 ^^
31會員
194Content count
歡迎來到【代碼的詩情】:探索程式語言之美 系列,這是一場優雅的程式之旅,透過詩歌的抒發,尋找不同程式語言的美感和精髓。 在這個系列中,我們將透過文字的韻律,深入探索多種程式語言的核心概念和語法,以及它們獨特的應用和技巧。每一篇詩歌都是一個故事,每一段代碼都是一句詩句,讓代碼的旋律和詩情在其中相互交織。
留言0
查看全部
發表第一個留言支持創作者!
KH Huang的沙龍 的其他內容
嘿!你是否已經熟悉 Gin 和 Gorm?好的,那麼今天我要告訴你如何將它們結合起來,創建一個超酷的 Web 應用!
嗨嗨,各位碼農們!我們都知道,有些“魔法”在開發過程中是非常有用的,今天我要和大家聊聊的就是 Gin 中的這種“魔法”:中間件 (Middleware)!
Gin框架深入解析:路由和處理器 Hey 朋友們!上回我們介紹了 Gin 框架的基礎知識,今天我們要更深入一些,看看 Gin 如何處理路由和相對應的處理器吧! Gin 的路由機制非常靈活和高效,可以快速地配置不同的路由方式。再配合上處理器函數,讓我們可以有針對性地處理不同路由的請求。探索完今
嗨各位!歡迎來到這個系列,今天我們要探索的是 Gin 框架!如果你對於開發高效且輕量級的 Web 應用感興趣,那你絕對不能錯過這篇!
嘿!你是否已經熟悉 Gin 和 Gorm?好的,那麼今天我要告訴你如何將它們結合起來,創建一個超酷的 Web 應用!
嗨嗨,各位碼農們!我們都知道,有些“魔法”在開發過程中是非常有用的,今天我要和大家聊聊的就是 Gin 中的這種“魔法”:中間件 (Middleware)!
Gin框架深入解析:路由和處理器 Hey 朋友們!上回我們介紹了 Gin 框架的基礎知識,今天我們要更深入一些,看看 Gin 如何處理路由和相對應的處理器吧! Gin 的路由機制非常靈活和高效,可以快速地配置不同的路由方式。再配合上處理器函數,讓我們可以有針對性地處理不同路由的請求。探索完今
嗨各位!歡迎來到這個系列,今天我們要探索的是 Gin 框架!如果你對於開發高效且輕量級的 Web 應用感興趣,那你絕對不能錯過這篇!
你可能也想看
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
🚀 在Gin中整合GraphQL和MongoDB:靈活的數據查詢 隨著Web應用的複雜度增加,開發者尋找更靈活和高效的方式來查詢和操作數據。GraphQL作為一種查詢語言,允許用戶精確地指定他們想要的數據,而MongoDB作為一個靈活的NoSQL數據庫,可以很好地支持這種查詢。結合這兩者,我
Thumbnail
隨著微服務和分佈式系統的普及,了解應用的運行情況和性能瓶頸已成為開發者的重要挑戰。分佈式跟蹤為我們提供了跨多個服務的請求路徑的完整視圖,幫助我們定位問題和優化性能。
Thumbnail
Serverless,也被稱為無伺服器架構,是一種現代雲計算模型,允許開發者專注於代碼,而不必擔心基礎架構和伺服器的管理。它通常與Function as a Service (FaaS)相關聯。
Thumbnail
隨著系統的規模和複雜性不斷增長,事件驅動架構(EDA)已成為現代應用中的一個重要組成部分。它允許系統組件之間解耦,並使其能夠非同步、高效地處理和響應事件。
Thumbnail
隨著機器學習在多個領域的應用越來越普遍,現代的Web應用也開始尋求將其與機器學習模型整合,以實現更高級的功能和更好的用戶體驗。 本篇文章將探討如何在Gin Web應用中有效地整合機器學習模型,並示範如何利用機器學習提供智能化的功能。
Thumbnail
👨‍💻簡介 套件(Package)在Golang中扮演著組織和管理程式碼的重要角色。 package就像工具箱一樣,裡面裝滿各種不同的工具,每個工具都有特定的功能。這些工具能夠幫助你完成不同的任務,從修理家具到蓋小屋,樣樣都行。
Thumbnail
👨‍💻簡介 在程式開發的世界中,我們經常需要處理各式各樣的資料,可能是一個人的個人資訊,也可能是一個商品的詳細訊息。當我們面對這麼多的資料時,如何將它們有系統地整理起來,讓我們能夠輕鬆地找到所需,便成了一個重要的課題。這時,結構體的概念就像是一道曙光,為我們提供了一個非常有力的工具。 結
Thumbnail
👨‍💻簡介 在 Go 語言中,函數(Function)是一個強大且重要的概念,就像食譜一樣,告訴你應該如何處理食材,最後得到一道美味的料理。經過哪些程序讓程式更有組織性和可讀性。函數可幫助你將程式碼區塊組織成可重複使用的元件,進而執行特定的任務。
Thumbnail
👨‍💻簡介 Go 語言有各種資料型別,分為基本型別和複合型別。基本型別包括: 整數、浮點數、布林值、字串 複合型別包括: 陣列、片段、結構、函式、對映、通道、介面 等。 整數型別 整數型別有許多種,像是 int8、int16、int32、int64。我們可以依據實際需求選擇。
Thumbnail
跟團住在號稱5星級飯店,SONO CALM GOYANG HOTEL 出發前在網路上找不到相關資料,google附近的地圖失真,於是來發一篇文 沒拍房間內部,房間還蠻大的,兩張單人床中間兩旁都有空間可以走動,開放式衣架,備品有小瓶沐浴乳、洗髮精、潤髮乳,都是濃濃的薄荷味,如果不能接受的話,最好自
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
🚀 在Gin中整合GraphQL和MongoDB:靈活的數據查詢 隨著Web應用的複雜度增加,開發者尋找更靈活和高效的方式來查詢和操作數據。GraphQL作為一種查詢語言,允許用戶精確地指定他們想要的數據,而MongoDB作為一個靈活的NoSQL數據庫,可以很好地支持這種查詢。結合這兩者,我
Thumbnail
隨著微服務和分佈式系統的普及,了解應用的運行情況和性能瓶頸已成為開發者的重要挑戰。分佈式跟蹤為我們提供了跨多個服務的請求路徑的完整視圖,幫助我們定位問題和優化性能。
Thumbnail
Serverless,也被稱為無伺服器架構,是一種現代雲計算模型,允許開發者專注於代碼,而不必擔心基礎架構和伺服器的管理。它通常與Function as a Service (FaaS)相關聯。
Thumbnail
隨著系統的規模和複雜性不斷增長,事件驅動架構(EDA)已成為現代應用中的一個重要組成部分。它允許系統組件之間解耦,並使其能夠非同步、高效地處理和響應事件。
Thumbnail
隨著機器學習在多個領域的應用越來越普遍,現代的Web應用也開始尋求將其與機器學習模型整合,以實現更高級的功能和更好的用戶體驗。 本篇文章將探討如何在Gin Web應用中有效地整合機器學習模型,並示範如何利用機器學習提供智能化的功能。
Thumbnail
👨‍💻簡介 套件(Package)在Golang中扮演著組織和管理程式碼的重要角色。 package就像工具箱一樣,裡面裝滿各種不同的工具,每個工具都有特定的功能。這些工具能夠幫助你完成不同的任務,從修理家具到蓋小屋,樣樣都行。
Thumbnail
👨‍💻簡介 在程式開發的世界中,我們經常需要處理各式各樣的資料,可能是一個人的個人資訊,也可能是一個商品的詳細訊息。當我們面對這麼多的資料時,如何將它們有系統地整理起來,讓我們能夠輕鬆地找到所需,便成了一個重要的課題。這時,結構體的概念就像是一道曙光,為我們提供了一個非常有力的工具。 結
Thumbnail
👨‍💻簡介 在 Go 語言中,函數(Function)是一個強大且重要的概念,就像食譜一樣,告訴你應該如何處理食材,最後得到一道美味的料理。經過哪些程序讓程式更有組織性和可讀性。函數可幫助你將程式碼區塊組織成可重複使用的元件,進而執行特定的任務。
Thumbnail
👨‍💻簡介 Go 語言有各種資料型別,分為基本型別和複合型別。基本型別包括: 整數、浮點數、布林值、字串 複合型別包括: 陣列、片段、結構、函式、對映、通道、介面 等。 整數型別 整數型別有許多種,像是 int8、int16、int32、int64。我們可以依據實際需求選擇。
Thumbnail
跟團住在號稱5星級飯店,SONO CALM GOYANG HOTEL 出發前在網路上找不到相關資料,google附近的地圖失真,於是來發一篇文 沒拍房間內部,房間還蠻大的,兩張單人床中間兩旁都有空間可以走動,開放式衣架,備品有小瓶沐浴乳、洗髮精、潤髮乳,都是濃濃的薄荷味,如果不能接受的話,最好自