Gin 是一个非常流行的 Go Web 框架,轻量、高性能、API 友好。下面是 Gin 的安装和基本使用教程:
一、安装 Gin
确保你已经安装了 Go 开发环境(Go 1.16 及以上版本更好)并设置好了 GOPATH
。
使用 go modules(推荐方式)
在项目目录下执行:
Go
go mod init your_project_name
go get -u github.com/gin-gonic/gin
二、创建 Gin 示例项目
目录结构如下:
Go
your_project/
│
├── go.mod
├── main.go
main.go
示例代码:
Go
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
r := gin.Default() // 使用默认中间件(Logger 和 Recovery)
// 定义一个 GET 路由
r.GET("/ping", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "pong",
})
})
// 启动服务,监听在 0.0.0.0:8080
r.Run()
}
三、运行项目
Go
go run main.go
浏览器访问 http://localhost:8080/ping,你应该能看到:
Go
{
"message": "pong"
}
四、常用功能示例
1. 路由参数:
Go
r.GET("/user/:name", func(c *gin.Context) {
name := c.Param("name")
c.String(http.StatusOK, "Hello %s", name)
})
2. POST 请求 + JSON 解析:
Go
type Login struct {
User string `json:"user" binding:"required"`
Pass string `json:"pass" binding:"required"`
}
r.POST("/login", func(c *gin.Context) {
var login Login
if err := c.ShouldBindJSON(&login); err != nil {
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusOK, gin.H{"status": "you are logged in"})
})
五、自动热重载(开发用)
你可以使用 air
或 gin
工具进行热重载:
安装 air:
Go
go install github.com/air-verse/air@latest
在项目根目录运行:
Go
air
air的使用详解上一篇《Go 的热重载工具 Air 详解》