Gin 框架快速开始

更新时间 2022-03-30 18:09:07

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 54w+ 字,讲解图 2476+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 1900+ 小伙伴加入学习 ,欢迎点击围观

通过本篇教程,小哈将手摸手带着大家通过 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系统未安装gitlinux系统未安装git

这时你需要先安装 Git, Linux 系统可通过如下命令安装:

yum install git

其他系统如何安装,小伙伴可自行搜索如何安装。

  • 1.2 执行 apt get 下载包长时间没有反应 !

执行 go get 命令没有反应执行 go 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 mod init

再次执行运行服务:

go run example.go

输出如下表示服务启动成功:

gin服务运行成功gin服务运行成功

4、验证 Gin 服务是否能够正常访问

浏览器访问地址 http://localhost:8080/ping :

访问gin服务8080端口访问gin服务8080端口

同时观察控制台输出:

访问gin服务接口日志访问gin服务接口日志

控制台打印了访问 /ping 接口的相关日志,其中耗时仅为 91.217µs 微秒, 性能表现的确优秀。

至此,一个简单的 Gin Web 服务就搞定了!希望大家学完后有所收获~