Gin框架快速入门 | 青训营笔记

59 阅读1分钟

一. 前言

1. 简介

  • Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点
  • 对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错
  • 借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范

2. 安装

  1. 安装go 1.13+
  2. 下载并引入
go get -u github.com/gin-gonic/gin
  1. 将 gin 引入到代码中:
import "github.com/gin-gonic/gin"
  1. 如果使用 http.StatusOK 之类的常量,则需要引入 net/http 包

二. HelloWorld

package main

import (
    "net/http"

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

func main() {
    // 1.创建路由
   r := gin.Default()
   // 2.绑定路由规则,执行的函数
   // gin.Context,封装了request和response
   r.GET("/", func(c *gin.Context) {
      c.String(http.StatusOK, "hello World!")
   })
   // 3. 监听端口
   // r.Run() 默认监听8080
   r.Run(":7890")
}

访问根路径即可

三. 工作流程

1. 核心对象

Engine:容器对象,是整个 Gin 框架的基础 Engine.trees:负责存储路由和 handle 方法的映射,类似字典树的结构 Engine.RouterGroup:RouteGroup 结构体中的 Handlers 存储着所有的中间件。 Context:上下文对象,负责处理请求和响应,其中的 handlers 存储处理请求时中间件和处理方法。

2. 启动流程

  1. 启动main函数
  2. 初始化Gin:gin.Default()执行Gin的初始化过程,Default() 函数中通过 gin.New() 方法来初始化 Engine 容器
  3. r.GET() 注册路由:通过 GET 方法将路由映射到指定的函数。
  4. 启动Gin:r.Run()负责启动Gin Engine,开始监听请求并提供HTTP服务。