环境准备与最小应用:Hello World 起步
本章解决什么问题:搭建 Go + Gin 的最小开发环境——确认工具链、初始化模块、安装依赖、写出并运行第一个接口,让“能跑”先于“跑好”。
准备工作
开发前请确认本机具备:
- Go 工具链:安装较新的稳定版 Go(Gin 各版本对 Go 版本有最低要求,具体以官方仓库的 go.mod 为准);
- 一个趁手的编辑器或 IDE,以及可用的命令行终端。
装好后在终端执行 go version 可验证安装结果。
初始化模块并安装 Gin
新建项目目录并初始化 Go 模块,模块名可自定义(此处以 hello-gin 为例):
mkdir hello-gin && cd hello-gin
go mod init hello-gin
go get github.com/gin-gonic/gin
go mod init 生成 go.mod;go get 拉取 gin 及其依赖(路由、渲染等子模块)并写入 go.mod 与 go.sum。不确定装哪个版本时,直接执行 go get 会拿到当前最新的稳定版。
第一个 Hello World
新建 main.go:
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default() // 带 Logger 与 Recovery 的默认引擎
r.GET("/hello", func(c *gin.Context) {
c.JSON(200, gin.H{"message": "hello gin"})
})
r.Run(":8080")
}
在项目目录执行 go run . 启动服务,看到监听日志后,用浏览器或 curl 访问:
curl http://127.0.0.1:8080/hello
返回的 JSON 形如 {"message":"hello gin"},第一个接口就跑通了。
逐行说明
- gin.Default() 创建引擎,默认挂上 Logger(请求日志)与 Recovery(panic 恢复),适合开发起步,其内部构成在第 12 章展开;
- r.GET 注册“方法 + 路径”的路由,第二参数是处理函数,统一接收 *gin.Context;
- c.JSON(200, gin.H{...}) 输出 JSON:第一个参数是 HTTP 状态码,gin.H 是键值对简写;
- r.Run(":8080") 让引擎监听指定地址;不传参时默认监听 0.0.0.0:8080,返回的 error 可忽略或按需处理。
关键点
- 一个 Gin 程序 = 创建引擎 + 注册路由 + 启动监听,三步即可运行。
- gin.Default() 带默认中间件,适合开发;正式环境可改用 gin.New() 自行装配(第 12 章)。
- 安装的是模块 github.com/gin-gonic/gin,代码里 import 的也是这个路径,不是框架名“gin”。
小结
本章完成了环境搭建并跑通第一个接口:模块初始化、依赖安装、路由注册与启动流程都已打通。下一章讲开发体验,让改完代码自动重启、日志输出更可控。