Gin 框架快速开始
一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动
目前,正在
星球
内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.2 + Vite 4
,手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 144 小节,累计 22w+ 字,讲解图:923 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 440+ 小伙伴加入,欢迎点击围观
。
通过本篇教程,小哈将手摸手带着大家通过 Gin 框架搭建一个 Web 服务,废话少说,咱们开始吧:
一、环境要求
- Go 语言版本需要 1.12 +;
二、安装 Gin 框架
安装 Gin 框架之前,你需要先安装 Go 语言环境 ,不同系统安装教程可参考下面教程:
1、下载并安装 Gin :
go get -u github.com/gin-gonic/gin
执行上面命令,你可能会遇到下面问题:
- 1.1 系统未安装版本控制 Git,报错信息如下:
go: missing Git command. See https://golang.org/s/gogetcmd
package github.com/gin-gonic/gin: exec: "git": executable file not found in $PATH
linux系统未安装git
这时你需要先安装 Git, Linux 系统可通过如下命令安装:
yum install git
其他系统如何安装,小伙伴可自行搜索如何安装。
- 1.2 执行 apt get 下载包长时间没有反应 !
执行 go get 命令没有反应
解决方案可参考下面链接:
2、编写一个 Gin Web 服务
2.1、新建一个 example 文件夹用来放置 Web 服务相关文件 :
mkdir example
2.2、进入该文件夹,并新建一个 example.go
文件,开始编写 Gin 代码:
vi example.go
2.3、导入 gin 依赖:
import "github.com/gin-gonic/gin"
2.4、(可选)导入 net/http
依赖。当你需要使用 http.StatusOK
常量的时候,可以导入它。
import "net/http"
2.5、在 example.go
文件代码大致如下:
package main
import "github.com/gin-gonic/gin"
func main() {
r := gin.Default()
// 定义一个路径为 /ping 的 GET 格式路由,并返回 JSON 数据
r.GET("/ping", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "Hello, Gin by quanxiaoha.com !",
})
})
r.Run() // 启动服务,并监听 8080 端口
};
编辑好后保存。
3、运行 Gin 服务
执行如下命令运行刚刚编写的 example
Gin 服务:
go run example.go
执行后,会报错:
example.go:3:8: cannot find module providing package github.com/gin-gonic/gin: working directory is not part of a module
提示找不到 gin 依赖,我们需要通过 go mod
来实现包自动管理,在项目 example 文件夹下执行命令:
go mod init example.com/m/v2
初始化一个 v2 版本的 mod 依赖管理。
执行完后,会发现文件夹下多了一个 go.mod
文件,该文件中统一管理了项目中所有包依赖:
初始化 go mod init
再次执行运行服务:
go run example.go
输出如下表示服务启动成功:
gin服务运行成功
4、验证 Gin 服务是否能够正常访问
浏览器访问地址 http://localhost:8080/ping :
访问gin服务8080端口
同时观察控制台输出:
访问gin服务接口日志
控制台打印了访问 /ping
接口的相关日志,其中耗时仅为 91.217µs
微秒, 性能表现的确优秀。
至此,一个简单的 Gin Web 服务就搞定了!希望大家学完后有所收获~