可能是GitHub star星最多的Golang Web框架-Gin初识

对比

目前主流Golang Web框架对比

名称 描述 star数量
Gin Gin 是用 Go (Golang) 编写的 HTTP Web 框架。它具有类似 Martini 的 API,性能要好得多 – 速度提高了 40 倍。 79.6k
Fiber 用 Go 编写的受 Express 启发的 Web 框架 34.4k
Beego beego 是一个用于 Go 编程语言的开源、高性能 Web 框架。 31.7k
Echo 高性能、极简的 Go Web 框架 30.2k

Gin特点

  • 零分配路由器
  • 速度
  • 中间件支持
  • 自由崩溃(Crash-free,不知道这么翻译对不?)
  • JSON 验证
  • 路由分组
  • 错误管理
  • 内置渲染
  • 支持扩展

Gin小试

Gin 需要 Go版本1.21 或更高版本。

go mode初始化

mkdir gin-test;cd gin-test
go mod init gin-test

代码部分

新建一个main.go文件,写入以下代码:

package main

import (
  "net/http"

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

func main() {
  r := gin.Default()
  r.GET("/ping", func(c *gin.Context) {
    c.JSON(http.StatusOK, gin.H{
      "message": "pong",
    })
  })
  r.Run()
}

上面代码中gin.Default()创建了一个Gin引擎实例,引擎实例只处理一个URL为/ping的GET请求,匿名函数会返回json字符串{“message”:”pong”},最后r.Run()启动运行Gin引擎实例,默认启动8080端口。

依赖管理

执行依赖整理,增加或清理依赖

go mod tidy

运行代码

go run main.go

访问http://127.0.0.1:8080/ping,返回{“message”:”pong”}表明已正常运行。

推荐的项目目录结构

.
|--assets
|--cmd
|--configs
|--deployments
|--docs
|--internal
|   |--api
|   |--model
|   |--pkg
|   |--router
|   |--service
|   |--utils
|--logs
|--pkg
|--scripts
|--test
|--website

参考https://github.com/golang-standards/project-layout

目前我自己新写项目的话后端更倾向使用Gin框架,占有内存少,性能还不错。

来源链接:https://www.cnblogs.com/robindevnotes/p/18651764

© 版权声明
THE END
支持一下吧
点赞8 分享
评论 抢沙发
头像
请文明发言!
提交
头像

昵称

取消
昵称表情代码

    暂无评论内容