Go 语言主流优秀开源库合集
摘自知乎:如有侵权,会删除。
作者:Go语言入门到精通
链接:https://www.zhihu.com/question/63974075/answer/2481047615
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
链接:https://www.zhihu.com/question/63974075/answer/2481047615
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Web 端优秀开源框架
- Macaron - 一款具有高生产力和模块化设计的 Go Web 框架
国产
- Beego - 一个使用 Go 的思维来帮助您构建并开发 Go 应用程序的开源框架
国产
- Gin - 轻量 Web 框架
- Iris - Web 开发框架
- Revel
- echo
- chi
- Faygo -
国产
- Teleport - Socket 框架
- GoFrame -
国产
- DotWeb -
国产
- Buffalo - 快速生成 Web 项目的开发工具
- go-web-framework-benchmark
- fiber - 一种 Express 风格的、基于 fasthttp 的 HTTP Web 框架
- aah
- go-zero - 好未来开源的 Web 框架
- pingcap/fn - 支持绑定任何方法,构建成 POST+JSON 接口
- flamego -
unknwon
开发的又一款 Web 框架
业务相关框架推荐
- GoAdminGroup/go-admin - 后台管理快速开发框架,与 laravel-admin 类似
- wenjianzhang/go-admin - 基于 Gin + Vue 实现的后台框架
- gin-vue-admin - 基于 Gin + Vue 实现的后台框架
- goxygen - 基于 Go, React, MongoDB 技术实现的全栈应用生成器
- nging - Go语言通用后台管理框架
- snake - 业务API框架
项目骨架快速搭建
- Standard Go Project Layout - Go 项目目录结构示例
- go-starter - Adobe 的 Go 工程模板
- go-clean-arch
- go-rest-api - Go RESTful API Starter Kit
- Create Go App CLI - 通过命令行创建前后端项目的开发骨架
- clean-gin - 基于 Gin 构建的整洁架构项目骨架
- golang-repo-template - 一个包含了很多实践的项目模板
DDD 框架
- Wild Workouts - DDD、整洁架构、CQRS的示例项目
- Clean Architecture in Go - 整洁架构示例
- freedom - 基于六边形架构的框架
- esim - 基于六边形架构的微服务框架
TCP 框架
中间件
RPC
- gRPC-Go - gRPC 官方包
- gorpc
- gorilla/rpc - 构建基于 HTTP 的 RPC 服务,比如 JSON-RPC
- Lile - gRPC 服务构建包
- rpcx
- Twirp - 基于 Protobuf 的 RPC 框架,与 gRPC 类似
- lile - gRPC 服务生成工具
- dubbo-go - Dubbo Go 版本
- Kitex
消息队列
文件/存储
- MinIO - 对象存储服务器
- rclone - 不同云存储之间同步文件
- Syncthing - 文件同步
- fsnotify - 文件系统监控工具
- reflex - 监听文件变更并执行命令
- gohttpserver - HTTP 静态文件服务器
模板引擎
- goTemplateBenchmark - 给各 Go 模板引擎做性能测试,当然也就包含了最全的模板引擎包
- Jet - 速度很快
- amber - HTML 模板引擎
缓存
- GCache
- bbolt - key/value store
- BigCache
- go-cache - KV 内存缓存
- gomemcache - Memcache 客户端
- cache2go
- ristretto
- fastcache
- FreeCache
- godis - Go 语言实现的 Redis 服务器和分布式集群
- groupcache - 分布式缓存
- cachego - 支持 Redis、Bolt 等缓存接口
- diskv - 基于硬盘的 KV 存储
- Pebble - 被 CockroachDB 使用的 KV 存储
表单
- validator
- ozzo-validation - 使用代码指定规则,而非Tag
- go-tagexpr - 字节跳动开源的结构体标签表达式解释器
- schema - converts structs to and from form values
图形处理
- barcode - 条形码/二维码生成器
- picfit - 图片操作、裁剪、管理服务器
- gmfs - 图片操作、裁剪、管理服务器
- besticon - favicon 服务
- Caire - 图片操作库
- Imaging - 图片操作库
- gocaptcha - 验证码生成
图表
- go-echarts - Echarts 图表库
- gonum/plot - 图形绘制
- pinhole - 3D 线框图绘制
- globe - 地球线框图绘制
- ink - Go 中的 2D 图形框架
- go-plantuml - 基于 Go 源码生成 plantuml 图
- go-diagrams - 通过代码生成图表
代码分析
- reviewdog - Code Review 机器人
- revive - 代码检查分析
- GolangCI-Lint - 代码质量检查分析工具
- errcheck - 检测未处理的错误(errors)
- Staticcheck - 一系列的 Go 代码静态分析工具
- Golint - Google 官方出品的代码质量检测工具
- GoReporter
- go-critic
- gocloc - 分语言代码行数统计
- coca - 代码统计分析
- Go Report Card - Go 项目质量分析报告工具
- ddsv-go - 死锁检测工具
- golang/perf - 官方性能量化分析工具
- GoPlantUML - 为 Go 项目生成 PlantUML 类图
- gosize - 分析Go二进制文件大小
- shotizam - 分析 Go 二进制文件的大小并输出到 SQLite3
- goconst - 查找可以被常量替换的重复字符串
- sploit - 帮助二进制分析和开发的库
- perf - Perf Utilities for Go
- fgprof - Go 性能分析工具
- conprof - 协程分析
- statsview - 实时 Go 运行时统计数据可视化分析器
- codesearch - 代码搜索工具
- Pyroscope - 可视化程序性能监控工具,支持多种语言
- gosec - 代码安全性检查工具
- gokart - 代码静态分析工具
安全
Kubernetes
- kubernetes - 容器调度管理平台
- k0s - 最小体积的 k8s 发行版
- sealos - 一条命令部署 Kubernetes 高可用集群
- KubeEye - 通过配置规则发现 Kubernetes 上的各种问题
微服务
- Istio [中文文档] - 大型微服务系统管理工具
- goa
- Micro - 微服务工具
- Go Micro - 微服务框架
- Go kit - Go 微服务工具集
- GoKit CLI - Go kit 脚手架
- gogo
- go-chassis
- Kite
- Kratos - B站开源的微服务框架
- Temporal - 微服务编排平台
- Serf - 服务编排管理平台
- Open Policy Agent - 通用策略引擎,CNCF 孵化项目
- gizmo - 微服务工具集
- MOSN - 用于边缘和服务网格的云原生网络数据平面
- Erda - 为企业提供 DevOps、微服务治理、多云管理的 PaaS
Serverless
- OpenFaaS - Serverless Functions Made Simple(功能服务化的 FaaS 框架)
- faasd - 轻量级 FaaS 引擎
- fn - 事件驱动的 FaaS
- riff - 基于 Kubernetes 的 FaaS
- Nuclio - 实时事件与数据的 Serverless 框架
- Flogo - 事件驱动的 Serverless 框架
- Dapr - 微软开源的云和边缘计算的微服务构件
- kubeless
- Fission - 基于 Kubernetes 的 Serverless
- pulumi
- Knative
- fx
- IronFunctions
- schollz/faas - 让任何包的函数变成一个 HTTP 接口
devops
- act - 本地运行 GitHub Actions
持续集成/部署
- CDS - 持续集成服务
- gopub
- CodePub
- syncd - 代码部署工具
- Drone - 基于 Docker 的持续发布平台
- Cyclone - 持续集成&发布平台
- tbls - 用于记录数据库文档的 CI 友好工具