网站首页 > 教程文章 正文
对比
目前主流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框架,占有内存少,性能还不错。
猜你喜欢
- 2025-01-12 Go + Amis 快速搭建建议动态网站
- 2025-01-12 go语言开发文档gin实战文档简单实用
- 2025-01-12 使用Golang+Mongodb构建简单的Blog API
- 2025-01-12 如何使用Golang的Gin框架渲染HTML页面
- 2025-01-12 用 Go 开发桌面应用程序(GUI)的几种方法对比
- 2025-01-12 golang web开发——gin完整整合swagger和mysql
- 2025-01-12 谈谈 Golang, 以及我走的一些弯路
- 2025-01-12 几个比较不错的Go开源项目
- 2025-01-12 20 个 Golang 自动化库
- 2025-01-12 在项目中经常实用到的golang 库先收藏了
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)