跳到主要内容

简介与安装

前言

本节主要内容:

  • 介绍Gin Web框架
  • 安装Gin
  • 编写一个HelloWorld程序

简介

官方主页: https://gin-gonic.com/

Gin 是一个用 Go 编写的高性能、轻量级 Web 框架,以其简洁性和快速响应的特性受到开发者的青睐。Gin 框架具有清晰的路由系统和丰富的中间件支持,非常适合用于构建 RESTful API、微服务和简单的 Web 应用程序。它的简单易用以及极高的吞吐量,使其在 Go 社区内成为流行选择,尤其在需要高性能和低延迟的项目中脱颖而出。

特点

  • 快速。基于 Radix 树的路由,小内存占用。没有反射。可预测的 API 性能
  • 支持中间件。传入的 HTTP 请求可以由一系列中间件和最终操作来处理。 例如:Logger,Authorization,GZIP
  • Crash处理。Gin 可以 catch 一个发生在 HTTP 请求中的 panic 并 recover 它。这样,你的服务器将始终可用。例如,你可以向 Sentry 报告这个 panic
  • JSON验证。Gin 可以解析并验证请求的 JSON,例如检查所需值的存在
  • 路由组。更好地组织路由。是否需要授权,不同的 API 版本…… 此外,这些组可以无限制地嵌套而不会降低性能
  • 错误管理。Gin 提供了一种方便的方法来收集 HTTP 请求期间发生的所有错误。最终,中间件可以将它们写入日志文件,数据库并通过网络发送
  • 内置渲染。Gin 为 JSON,XML 和 HTML 渲染提供了易于使用的 API

技能图谱

skillmap

安装

在开始使用 Gin 前,请确保已安装 Go 语言环境,并且 Go 的版本要尽量新。安装Gin非常简单,只需要使用go get

go get -u github.com/gin-gonic/gin

当然也可以在代码中直接使用,然后用go mod tidy帮忙自动处理依赖问题。

HelloWorld

学一门IT技术如果不写一个HelloWorld,就像基督徒不读圣经。

  1. 配置Go语言开发环境。安装Go,配置相关环境变量等。
  2. 创建项目目录并使用go mod初始化项目环境。
mkdir mygin
cd mygin
go mod init mygin
  1. 新建文件main.go并添加以下内容
package main

import (
"net/http"

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

func main() {
router := gin.Default()
router.GET("/", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "hello world",
})
})
router.Run("127.0.0.1:8000")
}

  1. 处理依赖并编译
go mod tidy
go build
  1. 运行编译后的文件
./mygin
  1. 打开浏览器,访问http://127.0.0.1:8000/,正常的话会输出{"message":"hello world"}。也可以使用curl命令行测试。
curl http://127.0.0.1:8000/