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

打印 上一主题 下一主题

主题 844|帖子 844|积分 2532

对比

目前主流Golang Web框架对比
名称形貌star数量GinGin 是用 Go (Golang) 编写的 HTTP Web 框架。它具有类似 Martini 的 API,性能要好得多 - 速度进步了 40 倍。79.6kFiber用 Go 编写的受 Express 开导的 Web 框架34.4kBeegobeego 是一个用于 Go 编程语言的开源、高性能 Web 框架。31.7kEcho高性能、极简的 Go Web 框架30.2kGin特点


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

Gin 需要 Go版本1.21 或更高版本。
go mode初始化
  1. mkdir gin-test;cd gin-test
  2. go mod init gin-test
复制代码
代码部分

新建一个main.go文件,写入以下代码:
  1. package main
  2. import (
  3.   "net/http"
  4.   "github.com/gin-gonic/gin"
  5. )
  6. func main() {
  7.   r := gin.Default()
  8.   r.GET("/ping", func(c *gin.Context) {
  9.     c.JSON(http.StatusOK, gin.H{
  10.       "message": "pong",
  11.     })
  12.   })
  13.   r.Run()
  14. }
复制代码
上面代码中gin.Default()创建了一个Gin引擎实例,引擎实例只处理惩罚一个URL为/ping的GET请求,匿名函数会返回json字符串{"message":"pong"},最后r.Run()启动运行Gin引擎实例,默认启动8080端口。
依靠管理

执行依靠整理,增长或清理依靠
  1. go mod tidy
复制代码
运行代码
  1. go run main.go
复制代码
访问http://127.0.0.1:8080/ping,返回{"message":"pong"}表明已正常运行。
推荐的项目目次结构
  1. .
  2. |--assets
  3. |--cmd
  4. |--configs
  5. |--deployments
  6. |--docs
  7. |--internal
  8. |   |--api
  9. |   |--model
  10. |   |--pkg
  11. |   |--router
  12. |   |--service
  13. |   |--utils
  14. |--logs
  15. |--pkg
  16. |--scripts
  17. |--test
  18. |--website
复制代码
参考https://github.com/golang-standards/project-layout
目前我本身新写项目的话后端更倾向使用Gin框架,占有内存少,性能还不错。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

忿忿的泥巴坨

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表