? 方法一:直接返回 HTML 字符串
這種方式適合簡單場景,比如返回一段固定的 HTML 內容。
package mainimport "github.com/gin-gonic/gin"func main() {r := gin.Default()r.GET("/html", func(c *gin.Context) {htmlContent := `<html><body><h1>Hello Gin</h1></body></html>`c.Data(200, "text/html; charset=utf-8", []byte(htmlContent))})r.Run(":8080")
}
? 方法二:使用模板渲染返回 HTML
適合頁面模板渲染場景。你可以定義 HTML 模板文件,然后將數據傳遞給模板。
1. 項目結構示例
.
├── main.go
└── templates└── index.html
2. templates/index.html
<html><body><h1>Hello {{ .name }}</h1></body>
</html>
3. main.go
package mainimport "github.com/gin-gonic/gin"func main() {r := gin.Default()// 加載模板文件r.LoadHTMLGlob("templates/*")r.GET("/html", func(c *gin.Context) {c.HTML(200, "index.html", gin.H{"name": "小諸葛",})})r.Run(":8080")
}
📝 補充:LoadHTMLGlob
和 LoadHTMLFiles
區別
LoadHTMLGlob("templates/*")
:支持通配符加載多個模板文件。LoadHTMLFiles("templates/index.html")
:一次只加載指定文件。