✅ 方法一:直接返回 HTML 字符串
这种方式适合简单场景,比如返回一段固定的 HTML 内容。
go
package main
import "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
<html>
<body>
<h1>Hello {{ .name }}</h1>
</body>
</html>
3. main.go
go
package main
import "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")
:一次只加载指定文件。