安装和第一个接口

本节从一个空目录开始创建 Gin 项目。

一、创建项目

mkdir gin-demo
cd gin-demo
go mod init example.com/gin-demo

生成 go.mod

module example.com/gin-demo

go 1.26

go 后面的版本以你本机安装的 Go 版本为准。

二、安装 Gin

go get github.com/gin-gonic/gin

整理依赖:

go mod tidy

三、创建 main.go

package main

import (
	"net/http"

	"github.com/gin-gonic/gin"
)

func main() {
	router := gin.Default()

	router.GET("/ping", func(c *gin.Context) {
		// 返回 JSON 响应
		c.JSON(http.StatusOK, gin.H{
			"message": "pong",
		})
	})

	router.Run(":8080")
}

运行:

go run .

访问:

http://127.0.0.1:8080/ping

返回:

{
  "message": "pong"
}

四、代码解释

router := gin.Default()

创建 Gin 路由引擎,并默认带上:

  • Logger 中间件:打印请求日志。
  • Recovery 中间件:程序 panic 时返回 500,避免服务直接崩掉。
router.GET("/ping", handler)

注册一个 GET 接口。

c.JSON(http.StatusOK, gin.H{...})

返回 JSON。

gin.H 本质上是:

map[string]any

只是 Gin 提供了一个更短的写法。

五、gin.Default 和 gin.New

Gin 创建路由常见两种方式:

router := gin.Default()

带默认 Logger 和 Recovery。

router := gin.New()

不带任何默认中间件,需要自己手动加:

router := gin.New()
router.Use(gin.Logger())
router.Use(gin.Recovery())

入门和大多数业务项目可以先用 gin.Default()