gin如何返回html
✅ 方法一:直接返回 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")
:一次只加载指定文件。