go-awesome
Go 语言优秀资源整理,为项目落地加速🏃
https://github.com/shockerli/go-awesome
Last synced: 8 days ago
JSON representation
-
Awesome
- **Awesome Go**
- **GitHub Topic for Go**
- awesome-go-China - 专门收集华人写的开源项目
- Go Patterns - Go 版本的设计模式
- Awesome Go Storage - Go 存储相关开源项目
- golang-open-source-projects - 含描述的中文版 Awesome Go
- go-algorithms - Go 版本的数据结构和算法
- greyireland/algorithm-pattern - 算法模板
- Go 学习之路 - Go 学习资料汇集
- sevenelevenlee/go-patterns - 设计模式
- GoF 设计模式
- sevenelevenlee/go-patterns - 设计模式
- ReposHub-Go
- Go 开发者路线图
- VisuAlgo - 数据结构和算法动态可视化
-
工具
-
未归类
- GoLand - IDE 软件
- gvm - Go 版本管理
- Visual Studio Code
- wfarr/goenv - Go 版本管理
- syndbg/goenv - Go 版本管理
-
-
指南
-
组织
- Go Code Review Comments
- Practical Go: Real world advice for writing maintainable Go programs - %E8%AF%AD%E8%A8%80%E5%AE%9E%E8%B7%B5%EF%BC%9A%E7%BC%96%E5%86%99%E5%8F%AF%E7%BB%B4%E6%8A%A4%E7%9A%84%E7%A8%8B%E5%BA%8F%E7%9A%84%E5%BB%BA%E8%AE%AE/)
- 实效 Go 编程
- Go FAQ 101
- Go Details 101
- Go Tips 101
- Go Quizzes 101
- Go 安全指南 - 腾讯发布的《代码安全指南》Go 语言篇
- 实效 Go 编程
- Uber Go Style Guide
- Go Recipes - 一些技巧
- Go Concurrency Guide
- go-perfbook - 编写和优化Go代码
- Go Code Convention
- 实效 Go 编程
- go-advices
-
-
大牛/组织
-
组织
- HashiCorp
- Charm - 提供一系列优秀的命令行工具和库
- Gorilla web toolkit
- loov
- lestrrat-go
- Uber - Open Source Software at Uber
- Stretchr - Tame your unstructured data
- Containous
- Uber - Open Source Software at Uber
-
大牛
-
-
文档
-
组织
- **Go 语言设计与实现**
- Golang 标准库文档(官方/中文)
- Go语言入门教程
- Go 学习技能树
- 实效 Go 编程
- Go Assembly - 通过示例介绍 Go 汇编功能
- Go 教程 - 腾讯云开发者手册
- Golang 开发笔记
- Learning Go — from zero to hero
- Go基础教程
- Go 官方入门指南
- 《The Way to Go》中文版
- learngo - 1000+ Go 示例、练习和测试
- Learn Go with Tests
- Ultimate Go - 终极 Go 学习指南,包含大量文档化的代码和程序分析
- Go Web 应用开发
- leetcode-cookbook - LeetCode in Go
- Go 语言高级编程
- 7天用Go从零实现系列
- Go 语言标准库 - Golang-Standard-Library-by-Example/)*
- go-internals - 深入理解 Go
- Golang - 100天从新手到大师 - 某培训机构的部分教程内容
- **Go 101**
- Go语法树入门
- Go 语言学习资料与社区索引
- Go 语言圣经(中文版)
- Proposing Changes to Go - Go 语言设计文档
- Go 语言博客实践
- 学习 Go 语言
- Go Concurrency Patterns - Go 并发模式场景集合
- Go 专家编程
- hoanhan101/algo - 107+ 编码面试问题,包括详细的解决方案,测试用例和程序分析
- The Little Go Book - little-go-book_ZH_CN)
- over-golang - Go 学习笔记
- golang-notes - Go 源码阅读笔记
- Go 语言高性能编程
- 玩转 GO - 《Mastering GO》中文译本
- Golang修养之路
- Go database/sql tutorial - Go 数据库(database/sql)开发使用教程
- GO 命令教程
- Go 语言语法详解笔记
- 深入解析 Go
- Go Web Examples - Go Web 开发示例
- over-algorithm - Go 算法笔记
- go-leetcode - LeetCode 实现
- yezihack/algo - 数据结构与算法
- Go 编程语言
- golang-cheat-sheet-cn - GitHub上最流行的Golang代码速查表中文翻译版本
- Go2编程指南
- **Go 语言原本**
- Go 编程语言
-
-
开源类库
-
网络
- Clash - 支持多种协议的多平台代理客户端
- Glorp - HTTP 拦截&重放的 CLI 工具
- croc - 两台电脑之间传输文件
- frp - 可用于内网穿透的高性能的反向代理应用
- FIND3 - WiFi 设备发现
- GoReplay - 流量收集&回放
- oxy - Go middlewares for HTTP servers & proxies
- DNS - DNS 库
- echoip - IP 地址查找服务
- V2Ray
- blocky - 作为局域网 DNS 代理拦截广告
- rain - BitTorrent 客户端和库
- torrent - BitTorrent 相关工具库
- httpretty - 在终端上漂亮地打印出 HTTP 请求
- EasyTCP - TCP Server 框架
- goftp - FTP 客户端
- gaio - 事件驱动网络框架(proactor 模式)
- gldap - LDAP Service
- gnet - 事件驱动 Go 网络框架
- go-getter - 可使用 URL 作为输入的主要形式从各种来源下载文件或目录
- GoPacket - 网络捕获抓包
- kcp-go - 可靠的 UDP 通讯包
- netpoll - 专注于 RPC 场景的 Non-blocking I/O 网络库
- sftp - SFTP support for the `go.crypto/ssh` package
- gliderlabs/ssh - 像 `net/http` 一样轻松搭建 SSH 服务器
- SFTPGo - 功能齐全且可高度配置的SFTP服务器,可选择支持HTTP/S、FTP/S和WebDAV。支持的存储后端包括:本地文件系统、加密的本地文件系统、S3(兼容)对象存储、Google Cloud Storage、Azure Blob Storage以及其他SFTP服务器。
- snail007/goproxy - golang 实现的高性能代理服务器
- CloudflareSpeedTest - 测试 Cloudflare CDN 延迟和速度,获取最快 IP
- Tailscale - WireGuard 解决方案
- V2Fly - V2Ray 的社区版本
- Pomerium - 基于身份的反向代理
- CoreDNS - DNS 服务器
- SubFinder - 子域名发现工具
- elazarl/goproxy - HTTP 代理
- Sharingan - 滴滴开源的流量录制回放工具
- GeoIP2 Reader for Go - 解析&读取 MaxMind GeoLite2 和 GeoIP2 数据库
- httpstat
- Apache Traffic Control - CDN 流量控制
- FrankenPHP - PHP 应用服务器
- pgrok - 提供给穷人的内网穿透
- go-libp2p - P2P
- sx - 网络扫描命令工具
- lossy - 模拟 net.PacketConn 和 net.Conn 接口的带宽,延迟和数据包丢失
- yamux - Multiplexer
- GLAuth - LDAP Server
- httpteleport - Teleports 10Gbps http traffic over 1Gbps networks
- evio - 事件驱动网络框架(reactor 模式)
- dns.toys - DNS 服务器
- pget - 文件下载工具,可多连接下载
- ProxyPool - 采集免费的代理资源为爬虫提供有效的IP代理
- cmux - 监听同一个端口,启动多种协议服务
- netaddr - 网络地址处理
- go-netty - 网络框架
- go-ldap
- ggz - 短网址服务
- go-ipfs-api - IPFS
- gomobile-ipfs - 为移动终端提供IPFS网络访问支持
- go-multiaddr - multiaddr
- ouqiang/goproxy - Go HTTP(S)代理库, 支持中间人代理解密HTTPS
- RoadRunner - PHP 应用服务器、进程管理器、负载均衡,用于替代 `Nginx + FPM`
- Traefik - 反向代理&负载均衡
- httplab - The interactive web server
- **Caddy** - 类似 Nginx 的 Web 服务器
- nps - 一款轻量级、高性能、功能强大的内网穿透代理服务器
- p2pspider - 种子嗅探器
- grab - 文件下载
-
数据库
- mgo
- mgo使用指南
- Prometheus - 服务监控系统 & 时间序列数据库
- dbmate - 数据库迁移工具
- AresDB - Uber 开源的 GPU 驱动的实时分析存储&查询引擎
- SQLer - write APIs using direct SQL queries with no hassle, let's rethink about SQL
- Tile38 - GEO 数据库
- Redcon - 兼容 Redis 协议的自定义 Redis 服务,采用 BuntDB 和 Tile38 实现存储
- gocraft/dbr
- gh-ost - GitHub 开源的在线更改 MySQL 表结构的工具
- Bytebase - 基于网络、零配置、无依赖的数据库 Schema 变更和版本控制管理工具
- Dolt - 像 Git 一样操作数据库
- TiDB - 分布式关系型数据库,兼容 MySQL 协议
- InfluxDB - 时间序列数据库
- Milvus - 向量数据库
- BuntDB - 基于内存的KV数据库,支持磁盘持久化、ACID事务
- CockroachDB - 分布式 SQL 数据库
- leveldb - LevelDB 的 Go 实现
- LinDB - 分布式时序数据库
- NutsDB - 可持久化、事务的内嵌 KV 数据库
- rqlite - 基于 SQLite 的轻量级分布式关系数据库
- goose - 数据库迁移工具
- migrate - 数据库迁移工具
- RDB - Redis RDB 文件解析和生成工具,支持转 JSON、转 AOF、寻找 Big Key、生成 RDB 文件及绘制内存火焰图等功能
- dbq - 数据库操作
- gendry - 滴滴开源的SQL Builder
- ozzo-dbx
- Squirrel - Fluent SQL Builder
- go-mssqldb - MSSQL 驱动
- Go-MySQL-Driver - MySQL 驱动
- go-sqlite3 - SQLite3 驱动
- pq - PostgreSQL 驱动
- globalsign/mgo - The MongoDB driver for Go
- mongo-go-driver - MongoDB 官方出品的 Go 语言驱动
- qmgo - MongoDB 客户端
- redigo - Redis 客户端
- go-redis - Redis 客户端
- clickhouse-go - ClickHouse 官方 Go 语言客户端
- elasticsql - 转换 SQL 成 Elasticsearch DSL
- redislock - 基于 Redis 的分布式锁
- Bun - SQL 优先的 ORM,写 SQL 的方式写 Go 代码,支持 PostgreSQL、MySQL、MSSQL、SQLite
- GORM - GORM V2
- POP - 基于 [sqlx](https://github.com/jmoiron/sqlx) 封装的数据库 ORM 工具
- REL - Modern Database Access Layer for Go
- Xorm
- etcd - KV 分布式存储
- SOAR - 对SQL进行优化和改写的自动化工具
- usql - 几乎支持全部 SQL 与 NoSQL 数据库的命令行工具
- sqlx - `database/sql` 扩展包
- FerretDB - MangoDB 替代品
- OctoSQL - 支持多数据库的 SQL 查询工具
- LBADD - 用 Go 实现的分布式 SQL 数据库
- Cayley - 图数据库
- Olric
- Vitess - 用于部署、扩展和管理大型MySQL实例集群的数据库解决方案
- kingshard - MySQL Proxy
- go-mysql-server - 解析 MySQL 协议并优化 SQL 的数据库引擎
- pingcap/parser - 兼容 MySQL 的 SQL 解析
- Thanos - 支持 Prometheus 简化部署、高可用、分布式存储
- Tiny RDM - Redis 桌面客户端
- XormPlus - Xorm 的定制增强版本
- GORM V1
- Bifrost - MySQL 同步到 Redis、ClickHouse 等服务的异构中间件
- RadonDB - 基于 MySQL 研发的新一代分布式关系型数据库
- tstorage - 时间序列数据库
- SQLE - SQL 审核工具
- redsync - 基于 Redis 的分布式锁
- gohbase - HBase 客户端
- GoRose
- go-memdb - 建立在不可变 Radix 树上的内存数据库
- gorm-sharding - 基于 Conn 层做 SQL 拦截、AST 解析、分表路由、自增主键填充,对使用者透明
- Gaea - 小米开源的基于 MySQL 协议的数据库中间件
- VectorSQL - 应用于 IoT 和大数据的 DBMS 数据库,类似于 ClickHouse
- mandodb - 一个示例项目,作者介绍如何从零开始实现一个小型的时序数据库
- sqlparser - SQL 解析
- xsqlparser - SQL 解析
- vitess-sqlparser - SQL 解析
- dbml-go - [DBML](https://github.com/holistics/dbml) 解析
- go-saga - Saga 分布式事务实现
- gorm2sql - 根据 Model Struct 生成建表语句
- qb - the database toolkit for go
- godb - a Go query builder and struct mapper
- go-nulltype
- SQLittle - 纯读取 SQLite 文件
- gaeadb
- go-clickhouse - ClickHouse 客户端
- LotusDB - 快速 KV 存储引擎,兼容 LSM 和 B+ 树
- Dgraph - 分布式图数据库
- DTM - 跨语言的分布式事务管理服务,支持TCC、Saga、XA等
- rosedb - 简洁、高效的 KV 数据库,支持多种数据结构
- BadgerDB - KV 数据库,支持 ACID 事务
- ent - An Entity Framework For Go
- go-mysql - MySQL 工具集
- mgo
- rueidis - Redis 客户端
- **TinySQL** - 迷你分布式关系型数据库
- genji - 文档内嵌型数据库
-
图形处理
- gmfs - 图片操作、裁剪、管理服务器
- Caire - 图片操作库
- primitive - 用原始几何图形绘制图形
- base64Captcha - 验证码
- smartcrop - 智能裁剪图片
- bimg - 图片处理
- canvas - 矢量图绘制
- Go Graphics - 2D 图片渲染
- gift - 图片滤镜
- imaginary - 图片处理服务
- Imaging - 图片操作库
- picfit - 图片操作、裁剪、管理服务器
- D2 - 一种将文本转换成图形的图表脚本语言
- Invoice - 发票生成工具,可通过参数和配置文件进行创建和管理各种类型的发票
- go-face - 面部识别
- orly - 生成你自己的O'RLY动物书封面
- imagor - 图像处理服务器
- besticon - favicon 服务
- barcode - 条形码/二维码生成器
- dchest/captcha - 生成和验证图片或音频验证码
- Germanium - 给代码生成图片
- gocaptcha - 验证码生成
- go-is-svg - 校验是否为 SVG 图片
- identicon - 根据用户的 IP 、邮箱名等任意数据为用户产生漂亮的随机头像
- prominentcolor - 识别图片的主要颜色
- formulae - 数学公式解析、计算、图表绘制
- Triangula - 给图片增加三角形纹样风格的滤镜
- ImGo - 简洁、链式调用的图像处理库
-
代码分析
- fieldalignment - 结构体字段内存对齐分析和自动修复工具
- Bearer - 代码安全扫描工具
- go-critic
- Staticcheck - 一系列的 Go 代码静态分析工具
- gocloc - 分语言代码行数统计
- **GolangCI-Lint** - 代码质量检查分析工具
- gosec - 代码安全性检查工具
- codesearch - 代码搜索工具
- reviewdog - Code Review 机器人
- Golint - Google 官方出品的代码质量检测工具
- shotizam - 分析 Go 二进制文件的大小并输出到 SQLite3
- errcheck - 检测未处理的错误(errors)
- fgprof - Go 性能分析工具
- coca - 代码统计分析
- revive - 代码检查分析
- **Go Report Card** - Go 项目质量分析报告工具
- gofumpt - `gofmt` 增强版代码格式化工具
- GoPlantUML - 为 Go 项目生成 PlantUML 类图
- golang/perf - 官方性能量化分析工具
- gokart - 代码静态分析工具
- ddsv-go - 死锁检测工具
- goconst - 查找可以被常量替换的重复字符串
- sploit - 帮助二进制分析和开发的库
- perf - Perf Utilities for Go
- statsview - 实时 Go 运行时统计数据可视化分析器
- NoVerify - PHP 代码分析工具
- conprof - 协程分析
- GoReporter
- Pyroscope - 可视化程序性能监控工具,支持多种语言
- gosize - 分析Go二进制文件大小
-
日志
-
微服务
- gizmo - 微服务工具集
- Open Policy Agent - 通用策略引擎,CNCF 孵化项目
- Go kit - Go 微服务工具集
- Go Micro - 微服务框架
- Istio - 大型微服务系统管理工具
- Temporal - 微服务编排平台
- goa
- Serf - 服务编排管理平台
- Consul - 服务发现、配置管理中心服务
- Service Weaver
- Erda - 为企业提供 DevOps、微服务治理、多云管理的 PaaS
- Traefik Mesh - 简单的服务网格
- MOSN - 用于边缘和服务网格的云原生网络数据平面
- Kite
- go-chassis
- GoKit CLI - Go kit 脚手架
- gogo
- Micro - 微服务工具
- Kratos - B站开源的微服务框架
-
未归类
- go-winio - 为 Win32 IO 操作提供接口支持
- esbuild - JavaScript 构建打包工具
- gorush - APP 消息通知服务
- Robotgo - Golang 跨平台自动化系统,控制键盘鼠标位图和读取屏幕,窗口句柄以及全局事件监听
- lego - Let's Encrypt client and ACME library
- webhook - 可执行 Shell 命令的 Web Hook 服务
- Timeliner - 搜集整理个人在社交网站上的数据并索引成时间线
- EventBus - 事件总线
- address - 地址处理库,支持多国语言
- clipboard - 剪切板
- hc - `HomeKit` 平台开发框架
- fq - 以 [jq](https://github.com/stedolan/jq) 语法读取二进制数据/文件
- go-playground - 比官方更好用的 Go Playground
- script - Making it easy to write shell-like scripts in Go
- hashicorp/go-version
- clipboard - 剪切板
- sysadmin-utils
- semver - 另一个语义版本
- misspell - 常拼写错误的英语单词
- go-i18n - 多语言工具包
- otp - 一次性密码工具包(One Time Password utilities)
- licenseclassifier - 识别文件中的 LICENSE 类型
- webhookd - 为 Shell 脚本提供 Web Hook 服务
- go-homedir
- go-semver - 语义版本
- i18n - `i18n` 多语言工具包
- mcuadros/go-version - 版本号比较
- Metabolize - Decodes HTML meta tags into a Golang struct
- CRDT - CRDT(Convergent and Commutative Replicated Data Types)最终一致性算法的实现
- go-license-detector
- rose - 在 HTML 中嵌入和运行 Go 代码
- clipboard - 剪切板
- go-cid - [CID spec](https://github.com/ipld/cid) Go 语言实现
- Paginater - 分页工具
- gls - Goroutine local storage
-
命令行
- glow - 终端渲染展示 Markdown
- termui - 终端仪表盘
- fzf - 终端模糊查询神器,支持多平台
- WTF - 一个命令行的信息仪表盘,可以定制显示内容
- asciigraph - 在终端中绘制 ASCII 字符的图表
- tui - 终端 UI
- **Cobra** - 命令行构建包
- Slides - 终端渲染展示 Markdown
- Survey - 交互式输入
- bubbletea - TUI 框架
- gum
- termenv - 终端应用程序的高级 ANSI 样式和颜色支持
- bubbles - TUI 组件
- go-colorable - Colorable writer for Windows
- go-isatty - TTY 环境判断
- go-prompt - 命令行交互式输入
- gookit/color - 命令行色彩使用库
- Lip Gloss - 终端布局、样式
- mpb - 支持多个进度条
- progressbar - 在终端上输出进度条
- PTerm - 支持图表、表格、进度条、树等终端输出展示
- spinner - 涵盖70多种符号或进度条的控制器
- termdash - 基于 Go Terminal 的仪表板系统
- flaggy - 命令参数解析
- go-arg - 基于结构体Tag解析命令行参数
- go-flags - 命令行参数解析
- mow.cli
- pflag - 命令行参数处理
- urfave/cli - 命令行程序构建工具
- kong - 命令行解析
- gosu - 以指定的用户权限来运行脚本
- tview - Terminal UI
- gotop - 类 top 系统监控显示
- Color - 命令行文字颜色
- pty - PTY for Go
- tablewriter - 终端中输出表格内容
- go-pretty - 终端渲染表格、列表、进度条等
- peco - 交互式过滤工具
- go-daemon - daemon 进程包
- cheggaaa/pb - 终端进度条
- PIXterm - 在命令行终端中绘图
- tcell
- clop - 命令行解析包
- ASCIIPlayer - 在终端中通过 ASCII 输出图片或视频,支持 png、jpeg、gif、mp4、avi 等格式
- vtclean - 从终端输出字符串中解析出纯文本
-
统计分析
-
桌面开发
- Lorca - 用 Go 编写 HTML5 桌面程序,依赖 Chrome 进行 UI 渲染,但却不把 Chrome 打包到应用中
- fyne - Material Design 风格的 GUI
- go-flutter - 绑定 Flutter 到桌面应用
- go-astilectron - 基于 Electron 的跨平台开发
- go-app - 一个 WebAssembly 框架,用于使用 Go,HTML 和 CSS 构建 GUI 应用
- wails - 使用 Go 和 Web 技术创建桌面应用程序
- therecipe/qt - 基于 Qt 的跨全平台 UI 包
- andlabs/ui - Platform-native GUI library for Go
- walk - Windows GUI toolkit
- systray - 跨平台支持菜单栏管理
- go-gl - Go bindings for OpenGL (generated via glow)
- Rod - 一个为简化自动化和爬虫设计的 devtools driver,利用浏览器的 devtools 可编程接口来操控浏览器
- chromedp - 纯 Go 语言实现的驱动浏览器的 Chrome DevTools Protocol,可用于爬虫、反爬虫、测试等场景
- xbar - 基于 [Wails.app](https://github.com/wailsapp/wails) 开发的 macOS 菜单栏管理
- 阿里云盘小白羊版 - UI由Flutter构建
- NuxUI
- vugu - WebAssembly UI 框架
- Gio - 跨平台 UI 框架,支持移动应用
- nucular - 基于 Gio 的实现
- giu - 基于 [Dear ImGui](https://github.com/ocornut/imgui) 的跨平台 GUI 框架
- GoGi - 2D/3D GUI 框架
- gon - 为 macOS 签名和公证
- GoVCL - 跨平台的 GUI 包
- go-gtk - Go bindings for GTK
- pkg/browser - 在浏览器中打开文件、URL
- MacDriver - macOS 原生 API
- webview - 用 Go/C/C++ 构建跨平台的桌面软件
-
JSON
- fx - 命令行 JSON 显示
- jid - JSON 数据解析读取工具
- GJSON - JSON 解释器
- fastjson - fast JSON parser and validator for Go
- gojsonq - JSON/YAML/XML/CSV 等数据查询
- json-iterator - 滴滴开源的 JSON 解析器
- sonic - 字节跳动开源的 JSON 解析器&修改器
- easyjson
- go-json
- jsonparser
- SJSON - JSON 修改工具
- hujson - 支持注释的 JSON 解码
- ffjson
- go-jsonc - 将带注释的 JSON 转为无注释的
- jin - JSON 操作工具包,同时具有标准库和类似 `tidwall/gjson` 和 `tidwall/sjson` 的功能
- pkg/json - JSON Decoder
- ColorJSON - 终端中打印彩色 JSON
- jsonc - 支持注释与逗号
- jsonquery - XPath 语法查询 JSON
-
文件/存储
- MinIO - 对象存储服务器
- restic - 备份工具,使用现代的加密方法对数据进行安全的备份,支持
- Duplicacy - 无锁云备份工具,支持几乎所有存储方式
- reflex - 监听文件变更并执行命令
- rclone - 不同云存储之间同步文件
- Syncthing - 文件同步
- filebrowser - Web File Browser
- gocryptfs - 加密 overlay 文件系统
- Afero - 文件操作包
- Bigfile - 文件传输管理系统
- copy - 拷贝文件夹
- XLSX - Excel 读写包
- filetype - 检测文件类型
- CasaOS - 家庭云系统
- fsnotify - 文件系统监控工具
- lakeFS - 类 Git 文件对象存储
- gohttpserver - HTTP 静态文件服务器
- UniPDF - PDF 读写处理
- go-fastdfs - 分布式文件存储服务
- Dragonfly - 基于 P2P 的分布式文件系统
- mimetype - MIME 类型与文件扩展检测
- rsc/pdf - PDF reader
- gopdf - PDF 生成
- fsync - 文件/目录同步
- go-app-paths - 跨平台检索目录文件
- AList - 支持多存储的文件列表程序
- Excelize - 360 开源的 Excel 工具包
- SeaweedFS - 分布式文件系统
-
爬虫
-
Git
- lazygit - Git 终端 UI
- bit - Git 命令增强版,支持文件和分支名称自动完成、命令和标志建议
- Gitea - 由 gogs 分叉出的 Git 服务器
- gogs - 类似于 GitLab 的 Git 服务器
- Git LFS - 处理大文件的 Git 扩展
- go-github - GitHub API 操作库
- git-o-matic - 一个监控 Git 仓库变化和自动 pull/push 的工具
- git-chglog - `CHANGELOG` 管理工具
- Soft Serve - 命令行式自托管 Git 服务器
- go-git - Go 实现的 Git 操作
- gh-dash - GitHub CLI(`gh`)漂亮终端面板
- gitin - commit/branch/status explorer for git
- gitbase - SQL 的方式查询 Git 日志
- git2graph - 根据 Git 仓库提交记录生成结构图
- chglog - `CHANGELOG` 管理工具
- lazyhub - GitHub 的终端 UI 客户端
- goaction - 在 Go 中编写 GitHub Action
- askgit - 通过 SQL 访问 Git 仓库信息
- hub - GitHub 命令行工具
-
算法
- FSM - 有限状态机
- xxhash - xxHash 哈希算法实现
- memberlist - 基于 gossip 协议实现的管理集群成员和成员失败检测的开发包
- GoDS - Go 实现了多种数据结构
- Dragonboat - 多组 Raft 共识算法库
- hashicorp/raft - Raft 算法
- golang-lru - LRU 算法实现
- backoff - 指数退避算法(Exponential Backoff)
- basalt - 高性能的分布式的专门空间优化的 Bitmap 服务, 杜绝 Bloomfilter 和 CuckooFilter 的误判
- go-multihash - 各种 Hash 算法实现
- xorfilter
- eliben/raft - Raft 算法
- tinylru
- Graft - Raft 算法
- finn - Fast **Raft** framework using the Redis protocol for Go
- priyankchheda/algorithms - 各种算法的 Go 语言实现
- meow - Meow hash
- go-blurhash - BlurHash,是模糊图片的一种哈希算法
-
终端工具
- miller - 一个类似 sed、awk、cut、join 和 sort 的工具,用来处理基于命名索引的数据
- duf - 比 `df` 更好用的磁盘使用率工具
- GoTTY - 基于Web的命令行实时共享
- viddy - 增强版 `watch` 命令
- vhs - 终端录像工具,提供了在终端中录制和回放终端会话的功能,类似于将终端会话记录为视频的方式
- Jump - 根据习惯快速跳转目录
- assh - SSH 增强工具
- trdsql - 可对 CSV/LTSV/JSON/TBLN 等文件执行 SQL 查询和导出
- vgrep - 支持滚动分页的 `grep`
- ov - 终端文本阅读器,可替代 `less`、`more`、`tail -f` 等
- GoFish - 一个受 [Homebrew](https://brew.sh) 启发的跨平台软件管理工具,支持 Linux 和 Windows
-
文本处理
- sourcegraph/go-diff - Go 版本的 diff 工具包
- Chroma - 代码语法高亮
- sitemap - sitemap.xml 生成
- bleve - modern text indexing
- whatlanggo - 自然语言探测
- prose - natural language processing library
- go-pinyin - 汉语拼音转换工具 Go 版
- Blackfriday - Markdown 解析器
- goldmark - Markdown 解析器
- html-to-markdown - 转换 HTML 为 Markdown
- htmlquery - XPath 语法查询 HTML
- gofeed - RSS & Atom feeds 内容解析
- bluemonday - XSS 探测
- goquery - jQuery 语法查询 HTML
- xurls - 从文本中提取 URL
- go-runewidth - 字符长度计算
- yarr - RSS 阅读软件
- Lute - 结构化的 Markdown 引擎
- glamour - 命令行下渲染 Markdown
- pangu.go - Go 版本的 pangu,给中英文之间加空格
- Zoekt - 文本搜索引擎
- minify - Web 静态资源压缩(HTML/JS/CSS/JSON/XML/SVG)
- kyokomi/emoji
- sergi/go-diff - Go 版本的 diff 工具包
- fuzzy - 字符串模糊匹配
- cascadia - CSS 选择器
- etree - XML 解析&生成
- hostctl - `hosts` 命令行管理工具
- go-md2man - 转换 Markdown 为 man 手册内容
- feeds - RSS 内容生成
- regexp2 - 全功能正则表达式引擎。如果标准库的 regexp 满足不了你,可以尝试使用 regexp2
- go-readability - 让 HTML 可读性更高
- woke - 检查文本文件中是否存在歧视词汇
- docx2md - 转换 Word 为 Markdown
- godlp - 数据脱敏
- go-enry - 检测编程语言
- gomarkdown/markdown
- DOM - HTML DOM 节点操作
- obelisk - 保存 Web 网页为 HTML 单页面
- html2text - HTML 转 text
- gomponents - 声明式视图组件,可以渲染成 HTML5
- html-strip-tags-go - 去除 HTML 标签
- xmlquery - XPath 语法查询 XML
- xpath - XPath 语法
- css - CSS 选择器
- gpy - Go 语言汉字转拼音工具
- go-hashids - hashids 的 Go 版本
- mahonia - 字符集编码转换
- syntaxhighlight - 代码高亮
- enescakir/emoji
- golang/freetype - Freetype font rasterizer
- Inflection - Pluralizes and singularizes English nouns
- autocorrect - 自动给中英文之间加入合理的空格并纠正专用名词大小写
- go-xml
- gogrep - 通过语法树搜索 Go 源码
- PipeIt - 文本转换,清理和提取工具
- html2article - 基于文本密度的 html2article 实现
- go-shellwords - 解析命令行中字段
- go-password-validator - 密码强度校验器
-
业务框架
- goxygen - 基于 Go, React, MongoDB 技术实现的全栈应用生成器
- PocketBase - 带有后台管理面板、文件和权限管理、集成 SQLite 数据库的单一文件后端服务开发框架,支持 Dart 和 JS SDK 快速开发 APP
- gin-vue-admin - 基于 Gin + Vue 实现的后台框架
- GoAdminGroup/go-admin - 后台管理快速开发框架,与 laravel-admin 类似
- YAO - 使用 JSON 即可创建数据库模型、编写 API 接口、描述管理后台界面的应用引擎
- wenjianzhang/go-admin - 基于 Gin + Vue 实现的后台框架
- nging - Go语言通用后台管理框架
- DoTenX - 低代码框架
- snake - 业务API框架
-
Web 框架
- REST Layer - REST API framework
- Buffalo - 快速生成 Web 项目的开发工具
- echo
- QOR - 系列应用开发组件包
- Beego - 一个使用 Go 的思维来帮助您构建并开发 Go 应用程序的开源框架 `国产`
- fiber - 一种 Express 风格的、基于 fasthttp 的 HTTP Web 框架
- Gin - 轻量 Web 框架
- Iris - Web 开发框架
- GoFrame - `国产`
- Ponzu
- Honeytrap
- Macaron - 一款具有高生产力和模块化设计的 Go Web 框架 `国产`
- Revel
- flamego - `unknwon` 开发的又一款 Web 框架
- go-web-framework-benchmark
- muxie
- DotWeb - `国产`
- utron
- aah
- pingcap/fn - 支持绑定任何方法,构建成 POST+JSON 接口
- rk-boot
- go-zero - 好未来开源的 Web 框架
- Teleport - Socket 框架
-
开发辅助包
- stats - 标准数字统计
- xstrings - 字符串相关函数
- mapstructure - 将 map 值转换到结构体中
- go-testdeep - 非常灵活的深度比较包,扩展了 Go 测试包
- cvt - 任意数据类型转换,支持自定义类型、提取结构体字段和值
- go-funk - 基于反射实现的常用函数
- lo - 基于 1.18+ 泛型的常用函数
- go-extend
- automaxprocs - 自动设置 `GOMAXPROCS`
- php2go - Go 实现的 140+ 个 PHP 函数功能包
- guregu/null - SQL/JSON的`null`处理包,提供替代类型
- c2go - 将 C 代码转换为 Go 代码的工具
- goleak - 检测 goroutine 泄漏
- bpool - byte buffers pool,支持 bytes.Buffers
- cast - 数据类型转换
- gommon - Common packages for Go
- copier - struct 之间拷贝值
- rf - 代码重构工具
- pie - slice/map 链式处理
- go-model - `struct` 操作包
- concurrent-map - 并发安全 `map`
- diff - 结构体&值比较
- bytebufferpool - byte buffers pool
- naza - Go语言基础库
- underscore.go
- memviz - 图形化数据结构
- **reflect2** - reflect api without runtime reflect.Value cost
- com - 工具包
- rnm - 代码重构辅助工具
- Chronos - 静态竞争检测器
- collection - 替代原生的 Slice
- juniper - 基于泛型实现常用的容器、迭代器、数据流等功能
- mergo - 合并结构体和字典数据
-
devops
- act - 本地运行 [GitHub Actions](https://developer.github.com/actions/)
-
机器学习
-
HTTP
-
即时通信
-
系统信息
- ghw - 硬件信息
- gopsutil - `ps` 功能包
- cpuid - CPU 信息
- machineid - 获取机器ID
- go-sysinfo - 系统信息
- go-hardware - 收集了一堆关于硬件信息的包
- go-ps - 系统进程信息
- go-locale - 跨平台语言检测库
- psgo - `ps` 命令实现
-
运行器
-
WebSocket
- websocketd - Go 开发的一键搭建 WebSocket 服务器命令行工具
- melody - WebSocket 服务框架
- gorilla/websocket
- ws - WebSocket 开发包
- neffos - 一个快速且可扩展的 WebSocket 框架
- fastws
- nhooyr/websocket - 官方推荐的包
-
视频
-
调试
- **go-spew** - 变量打印工具
- **Delve** - Debug 工具
- stack - 捕获、操作、格式化调用栈信息
- Weaver - 跟踪 Go 程序执行链路
- statsviz - 在浏览器中实时查看 Go 应用程序运行时统计信息(GC,MemStats 等)
- Litter
- pp - 彩色变量打印工具
- ffmt - 变量打印工具
- pkg/profile
- gops - 谷歌官方出品的 Go 程序监控调试工具
- grmon - 命令行监控显示 goroutines
- pprof
- pretty - 打印变量
- repr - 变量打印工具
- lensm - Go 汇编与源码对照查看工具
- holmes - 基于规则的自动 Go Profile Dumper
- autopprof - 自动分析 pprof
- gcnotifier - 当发生 GC 时通知
- go-deadlock - 对 `(RW)Mutex` 进行注入,并提供死锁检测
- gcvis - 实时可视化 gctrace
- gdlv - Delve 界面版本
- RDebug - 滴滴开源的一款用于 RD 研发、自测、调试的实用工具
- debugcharts - Go 内存占用可视化调试工具
- mmcloughlin/profile
- valast - 打印输出变量的 `go/ast` 结构,类似于 PHP 的 `var_export` 函数
- go-callvis - 可视化Go程序的调用图
- q - 自动打印变量类型并且格式化输出
-
搜索推荐
- wukong - 全文搜索引擎
- Riot - 全文搜索引擎
- Bluge - 文本分词
- elastic - Elasticsearch 客户端
- go-elasticsearch - 官方 ES 客户端
- gojieba - "结巴"中文分词的 Go 语言版本
- gse - Go 语言分词
- sego - Go 中文分词
- Blast - 全文搜索(`Archived`)
- Fuzzy Search - 文本模糊搜索
- simplefts - 超简单的全文搜索引擎实现
- gorse - 单节点训练和分布式预测推荐系统引擎
- ZincSearch - 全文搜索引擎
- go-mysql-elasticsearch - Sync MySQL data into elasticsearch
-
邮件
- Hermes - Go 版本的 mailgen 引擎,根据配置生成 HTML 格式的邮件
- Go-Guerrilla - SMTP 邮件服务器
- MailHog - 基于Web和API的SMTP测试工具
- jordan-wright/email
- email-verifier - 邮箱校验,无需发送邮件
- Maddy - 邮件服务器
- Pop - 邮件发送工具,支持交互式和参数式
- Mox - 邮件服务器
- gomail - 邮件发送包
- scorredoira/email
-
代码生成
- jennifer - Go 代码生成
- ChimeraCoder/gojson - 根据 JSON 生成结构体
- db2struct - 根据表结构生成结构体
- smallnest/gen - 根据表结构生成结构体
- ifacemaker - 根据结构体方法生成接口
- gg - Go 代码生成
- esc
- **sqlc** - 根据 SQL 语句生成 Go 代码
-
测试
- gotests - 根据源码自动生成测试文件
- gnomock - 无需 mock 的 Go 代码测试框架
- htmltest - HTML 测试
- gofakeit - 随机数据生成器
- endly - E2E(端到端)测试
- Goblin - BDD 测试框架
- godog - BDD 测试框架 Cucumber 的 Go 版本
- gofight - Testing API Handler
- httpexpect - 端到端 HTTP & REST 测试框架
- is - 迷你测试框架
- Testify
- TestSQL - 根据 SQL 创建语句生成测试数据
- sqlmock - SQL 测试
- gock - HTTP mock 测试
- GoMock - 谷歌出品的Mock测试框架
- httpmock - HTTP Mock
- mockery - 自动为接口生成 mock 代码
- Moq - 为接口生成 Mock 代码
- go-fuzz - randomized testing for Go
- Ginkgo - BBD 测试框架
- Terratest - 基础设施测试,比如 Docker
- silk - 基于 Markdown 的接口测试
- miniredis - Redis 数据测试
- go-faker/faker - Struct Data Fake Generator
- Monkey - (**Archived**) Monkey patching in Go
- GoConvey - 含Web界面的单元测试框架
- sqlbench - SQL
- gomonkey - 猴子补丁,对函数、变量等进行打桩,方便单元测试,Fork 自 [Monkey](https://github.com/bouk/monkey)
- SuperMonkey - 让私有方法可测
- GoStub
- gocheck
- dmgk/faker
- go-tprof - 包测试报告生成工具
- agouti - Web 驱动的验收测试框架
- gocov - 测试覆盖率
- quicktest
- go-cover-treemap - 将覆盖率测试结果转换成 TreeMap 图
- ZTF - 禅道开源的自动化测试框架
- gunit - xUnit 风格测试框架
- k6 - 负载测试工具
- fperf - 压测工具
-
路由
- chi
- gocraft/web
- HttpRouter
- mux - URL 路由和调度器
- go-querystring - 转换结构体为URL请求参数
- BunRouter - 支持中间件、错误处理、路由优先级、兼容 `net/http` 接口
- rewrite - rewrite 中间件
- gorilla/schema - converts structs to and from form values
- CleverGo
-
模板引擎
- pongo2 - Django 语法风格的模板引擎
- amber - HTML 模板引擎
- fasttemplate - Simple and fast template engine for Go
- Jet - 速度很快
- quicktemplate
- Sprig - 常用模板方法
- mustache
- plush
- goTemplateBenchmark - 给各 Go 模板引擎做性能测试,当然也就包含了最全的模板引擎包
- Ace
-
缓存
-
UUID
- snowflake - Twitter snowflake IDs
- ksuid - K-Sortable Globally Unique IDs
- sonyflake - Sony 版本的 Twitter's Snowflake
- google/uuid - Google 开源的 uuid 包
- xid - 全局唯一 ID 生成器
- ulid - ULID Go 语言实现
- go.uuid - UUID 库
- gofrs/uuid
- SEQSVR - Go + MySQL 实现的分布式 ID 生成服务
- go-nanoid - NanoID 实现
-
序列化
- Objx - 操作 map, slice, JSON 等数据的包
- go/codec - 支持 msgpack/binc/cbor/json
- gogo/protobuf - `golang/protobuf` 的扩展替代品
- golang/protobuf - Go 版本的 Protocol Buffers
- Buf - protoc 替代品
- protoc-gen-doc - Google Protocol Buffers 文档生成插件,支持 HTML、JSON、DocBook、Markdown 和自定义模板
- msgp - MessagePack 代码生成器
- vmihailenco/msgpack - 支持 msgpack
-
数据结构
- google/btree - B-Tree
- HashMap
- orderedmap - 有序字典
- roaring - 压缩位图
- bitset - 位集合及其操作
- bloom - Bloom filters
- go-datastructures
- golang-set - The missing set collection
- dataframe-go - 用于数据统计和操作的包
- go-set - 集合工具包
- go-immutable-radix - Radix 树
- Slim - 空间高利用率的数据结构
- rtreego - R-tree
- Bigslice
- Play-with-Data-Structures - 「玩转数据结构」课程的 Go 语言实现版本
- SipHash - SipHash-2-4
- tinybtree - B-tree
- trie
-
依赖管理
- Athens - `GOPROXY` 代理服务
- gom - 包版本管理工具
- Gopm - Go 包管理工具
- govendor - Vendor 包管理工具
- **goproxy.io** - `GOPROXY` 代理服务
- goproxy.cn - 更适合国内用户的代理服务
- owenthereal/goup - Go 多版本管理
- rvflash/goup - 检查包版本是否有更新
-
构建编译
- **GoReleaser** - Go 多平台二进制文件打包、并支持发布到 Homebrew 的工具
- **Mage** - 类似于 Makefile 的命令行工具,用于构建和运行 Go 项目
- Task - 类似于 `Make` 的构建工具
- go.rice
- packr
- statik - 静态文件嵌入
- vfsgen - 将静态文件打包成 `http.FileSystem` 类型进行访问
- codegangsta/gin - 热编译工具
- Gox - Go 跨端编译工具
- nFPM - deb、rpm、apk 等打包工具
- Fresh - 热编译工具
- go-appimage - Go 语言实现 AppImage 打包工具
- gobinaries - 不用安装Go就能编译安装Go编写的程序
- garble - 混淆代码
- gobfuscate - 混淆代码
- dh-make-golang - 自动构建 Debian 包
- go-bindata - 将静态文件转换成 Go 代码文件
- gowatch - 热编译工具
- goxc - 跨平台编译工具(因 1.5 版本开始已自带交叉编译,故已不再维护)
- pkger - 将静态文件打包成 Go 二进制文件
- mewn - 静态文件嵌入打包到二进制文件
- Air - 热编译工具
-
错误处理
- cockroachdb/errors - 功能强大、可替代 `errors` 和 `github.com/pkg/errors` 的错误处理包
- eris - 旨在通过错误包装,堆栈跟踪和输出格式为你提供对错误处理的更多控制
- errlog - 使用静态和堆栈跟踪分析来快速确定哪个函数调用导致的错误
- errorx
- go-multierror - 支持错误列表
- errors
- errwrap - Go tool to wrap and fix errors with the new `%w` verb directive
- juju/errors
- erris - Linter for errors.Is and errors.As
- merry - 支持堆栈、状态码的错误处理
- go-fault - GitHub 官方出品,基于标准库 http 中间件的故障注入库
-
图表
- go-diagrams - 通过代码生成图表
- gonum/plot - 图形绘制
- GoCity - 3D 展示城市
- globe - 地球线框图绘制
- pinhole - 3D 线框图绘制
- ink - Go 中的 2D 图形框架
- go-plantuml - 基于 Go 源码生成 plantuml 图
-
文档
- go-swagger - Swagger 2.0 implementation for go
- swag - Swagger for Go
- gin-swagger - Swagger for Gin
-
协程/线程
- workerpool - 无阻塞队列任务池
- ants - 协程池
- **conc** - 更好用的结构化并发控制
- go-workers - 安全地并发运行一组 worker,通过 channel 进行输入输出
- pond - 协程池
- tunny
- Machine - 受 errgroup.Group 启发的协程管理
- thread
- zeropool - 零回收、类型安全的协程池
-
Serverless
- pulumi
- Flogo - 事件驱动的 Serverless 框架
- IronFunctions
- OpenFaaS - Serverless Functions Made Simple(功能服务化的 FaaS 框架)
- Nuclio - 实时事件与数据的 Serverless 框架
- Fission - 基于 Kubernetes 的 Serverless
- Dapr - 微软开源的云和边缘计算的微服务构件
- fx
- Knative
- fn - 事件驱动的 FaaS
- faasd - 轻量级 FaaS 引擎
- riff - 基于 Kubernetes 的 FaaS
- schollz/faas - 让任何包的函数变成一个 HTTP 接口
- Vanus - 无服务事件流处理系统
- kubeless
-
容器技术
-
监控告警
- Grafana - 分析监视平台, 支持 Graphite, Elasticsearch, OpenTSDB, Prometheus, InfluxDB 等数据源
- Jaeger - 分布式追踪系统
- EaseProbe - 服务探活工具并通知
- supervisord - Go 语言实现 Supervisor
- Nightingale - 滴滴基于 OpenFalcon 开源的监控系统
- Uptrace - APM 工具,支持 OpenTelemetry 追踪、指标和日志
- Grafana Tempo - 分布式追踪系统
- OpenFalcon - 小米开源的监控系统
- grafterm - Metrics dashboards on terminal
- PingMe - 支持多消息平台的服务可用性报警命令工具
- grabana - 用 Go 代码快速创建 grafana dashboards
- go-osstat - 系统指标统计
- mymon - MySQL 运行监控
-
加密/解密
-
解释器
- Grumpy - 转换 Python 为 Go 代码,谷歌开源
- elvish - 交互式 Shell 语言
- Anko
- cel-go - Common Expression Language(CEL 的 Go 实现)
- go-lua - A Lua VM in pure Go
- deuill/go-php - PHP bindings for Go
- goja - ECMAScript 5.1(+) 实现
- GopherLua - VM and compiler for Lua in Go
- Gval - 表达式计算
- starlark-go - Starlark in Go
- Tengo - 用 Go 编写的脚本语言
- GopherJS - 把 Go 代码编译成 JavaScript 代码
- mvdan/sh - Shell 解析、格式化、接口
- otto - JavaScript 解释器
- v8go - Execute JavaScript from Go
- CUE - Configure Unify Execute(Validate and define text-based and dynamic configuration)
- **participle** - 通用的自定义语法解析包
- V - Go 编写的语言
- jvm.go - JVM
- golisp - `Lisp` 解释器
- govaluate
- DCLua - Go Lua Compiler and VM
- Flux - InfluxDB 数据语言
- QLBridge - Go SQL Runtime Engine
- properties - Java properties scanner for Go
- Joker - Clojure
- Monkey
- avo - x86 汇编程序构建器
- dst - Go Decorated Syntax Tree
- wagon - WebAssembly 解释器
- gpython - Python Interpreter on Go
- gobasic - A BASIC interpreter written in golang
- tdewolff/parse - 通用词法分析器 Lexer,并内置支持解析 HTML/CSS/JSON/XML/JS/SVG 语法
- z7zmey/php-parser - PHP AST 语法解析
- VKCOM/php-parse - PHP AST 语法解析
- Math-Engine - 使用 Go 实现的数学表达式解析计算引擎库,学习语法解析很适用
- goexp - Recursive descent expression parser in Go
- goastch - Go AST 语法解析
- swallow
- kumarUjjawal/bison
- YQL - SQL WHERE 风格的规则引擎
- Spiker - Go 编写的简单规则表达式执行器,支持自定义函数和流程控制,适用于业务规则复杂的场景
- gocc - 解析器生成器,可以将指定的文法转换为 Go 语言的解析器程序代码,用于编译和解析特定类型的源代码
- goridge - High-performance PHP-to-Golang IPC bridge
- Yaegi - Go 语言解释器
- Compiler - 将自定义语法代码编译成 X86-64 Assembly
- Expr - 编译&执行字符串中的表达式
- expression-parsing
-
游戏相关
-
编辑器
- micro - 基于终端的编辑器
-
区块链
- go-ethereum - 以太坊协议的官方 Go 语言实现
- bbgo - 用 Go 编写的加密货币交易框架
- btcd - 比特币实现
- Hyperledger Fabric - 基于区块链的超级账本
-
持续集成/部署
-
配置
- Viper - 支持 `JSON`, `TOML`, `YAML`, `HCL`, `Java` 等配置文件
- env - 解析 ENV 环境变量到结构体中
- fig
- GoDotEnv - `.env` 配置文件解析
- INI - `INI` 配置文件解析
- envconfig
- koanf
- go-toml - TOML
- toml - `TOML` 解析&编码包
- confd - 配置管理工具
- HCL - configuration language
- ghodss/yaml
- go-yaml/yaml
- envsubst - 环境变量替换
- Multiconfig
- butler - Adobe 开源的配置管理系统
- configor
-
集群管理
- kubernetes - 容器调度管理平台
- Nomad - 集群管理器和调度器
- OpenShift Origin - Red Hat 开发的容器化软件解决方案
- KubeEye - 通过配置规则发现 Kubernetes 上的各种问题
- k0s - 最小体积的 k8s 发行版
- sealos - 一条命令部署 Kubernetes 高可用集群
- endpoints-operator - K8S内部服务访问外部服务的具备探活功能的4层LB
-
人工智能
-
消息队列
-
Auth
- Authboss - Web Auth 系统
- Casbin - 权限控制管理
- Goth - Multi-Provider Authentication for Go
- cristalhq/jwt
- jwt-go - JWT for Go
- branca - 号称比 JWT 更安全的 token 解决方案
- gin-jwt - Gin 框架的 JWT 中间件
- ZITADEL - 身份认证系统,支持各种认证模式
- sessions - 后端 SESSION 服务
- securecookie - cookie 加密/解密
- pam-ussh - Uber's SSH certificate pam module
- kataras/jwt - JWT 轻量级实现
-
HTTP压测
-
日期时间
-
RPC
- gorpc
- gRPC-Go - gRPC 官方包
- Kitex
- rpcx
- gRPCurl - 像 cURL 一样通过命令行访问 gRPC 服务
- Go gRPC Middleware - gRPC 常用中间件
- gRPC-Gateway - 读取 gRPC 服务定义并生成一个反向代理服务器,同时提供 gRPC 和 RESTful 风格的 API
- Twirp - 基于 Protobuf 的 RPC 框架,与 gRPC 类似
- Lile - gRPC 服务构建包
- dubbo-go - Dubbo Go 版本
- gorilla/rpc - 构建基于 HTTP 的 RPC 服务,比如 JSON-RPC
-
数学计算
-
中间件
-
任务/定时器
- gocron - 任务定时调度器
- jobrunner
- Asynq - 异步分布式任务队列
- Machinery - 通过分布式消息实现异步任务调度
- cron - a cron library for go
- RxGo - Go 版 [ReactiveX](https://github.com/ReactiveX),简单方便的处理异步数据流
- dkron - 分布式任务调度系统
- Grift - Go based task runner
- cronsun - 分布式任务系统
- gocelery - Celery 的 Go 语言实现
- Grit - 基于 MultiTree 实现的任务管理
- CurlyQ - 后台任务处理库
- overtalk/task - 任务的管理&执行,支持自定义次数的重发
- PPGo_Job - 定时任务管理系统
-
流处理
-
依赖注入
- dig
- Fx
- go-autowire - 使用注解自动生成 [wire](https://github.com/google/wire) - 依赖注入
-
项目骨架
- Standard Go Project Layout - Go 项目目录结构示例
- Create Go App CLI - 通过命令行创建前后端项目的开发骨架
- go-clean-arch
- golang-repo-template - 一个包含了很多实践的项目模板
- go-rest-api - Go RESTful API Starter Kit
- go-starter - Adobe 的 Go 工程模板
- clean-gin - 基于 Gin 构建的整洁架构项目骨架
-
解压缩
-
编译器
- llir/llvm - LLVM 编译器
- Go+ - 七牛云开源面向数据科学的语言,完全兼容Go语言
- TinyGo - 一个适用于微控制器、WebAssembly 和命令行工具的 Go 编译器
- minigo - A Go compiler from scratch
- jit-compiler - `JIT` 编译器
-
查询语言
- gqlgen - 构建 GraphQL 服务器的包
- graphql - Go 实现的 GraphQL
- RQL - REST 资源查询语言
- graphql-go
- Thunder - GraphQL 服务构建框架
- GQLEngine - 基于 graphql-go 实现
- super-graph - 无需编写代码即可在 Go 项目中构建复杂的 GraphQL API
-
安全
-
限流器
- Circuit - 熔断器
- gobreaker - 熔断器
- uber-go/ratelimit
- ratelimit
- ulule/limiter
- RateLimit
- **Tollbooth** - Simple middleware to rate-limit HTTP requests
- go-rate
- gohalt - 限流
- Sentinel - 阿里巴巴开源的面向分布式服务架构的流量控制组件 Go 语言版本
-
TCP 框架
- zinx - TCP并发服务器框架
-
网关
-
系统开发
- LinuxKit - 为容器构建安全、便携、可移植操作系统的工具包
- go-systemd - 绑定 systemd
- gopher-os - 一个兼容 Linux 的 64 位 POSIX 风格系统
- gouring - 不依赖 CGO 实现系统调用
- Lima - Linux-on-Mac ("macOS subsystem for Linux", "containerd for Mac")
-
表单
- validator
- govalidator
- ozzo-validation - 使用代码指定规则,而非Tag
- go-tagexpr - 字节跳动开源的结构体标签表达式解释器
-
优雅升级
- tableflip - Web 服务升级
- go-github-selfupdate - 依托 GitHub 自动升级
- selfupdate - 二进制文件自动升级
- overseer
-
微信
-
移动端
- golang/mobile - Go support for Mobile devices
-
DDD 框架
- Clean Architecture in Go - 整洁架构示例
- go-cleanarch - Go 整洁架构规则校验工具
- Wild Workouts - DDD、整洁架构、CQRS的示例项目
- freedom - 基于六边形架构的框架
- esim - 基于六边形架构的微服务框架
-
SDK
- alipay - 支付宝SDK
-
并发
- SizedWaitGroup - 并发控制
- concurrent - concurrency utilities
-
-
文章
-
组织
- Go的50度灰:Golang新开发者要注意的陷阱和常见错误
- Go 程序的性能优化及 pprof 的使用
- gops - Go语言程序查看和诊断工具
- Go源码分析——http.ListenAndServe()是如何工作的
- GoConvey 框架使用指南
- GoStub 框架使用指南
- GoMock 框架使用指南
- Monkey 框架使用指南
- **Go Training** - 大量优质 Go 相关文章、视频等资料
- **Go语言爱好者周刊**
- The Evolution of a Go Programmer - Go 程序员的进化之路
- Go-Questions - Go 语言学习入门和进阶知识
- **Go 夜读** - Go 标准包、开源项目源代码阅读讲解
-
-
付费教程
-
组织
- 基于 Go 语言构建企业级的 RESTful API 服务 - 掘金小册
- Go语言核心36讲 - 极客时间
-
-
资源站点
-
未归类
- go-zh
- Golang sizeof tips - 输入结构体定义,会显示内存布局
- Golang 中国
- Golang Programs
- Go 语言中文网
- go-zh
-
-
成品项目
-
静态网站生成器
-
组织
- listmonk - 资讯、邮件列表管理工具(Web)
- Shiori - 书签管理
- mkcert - 生成本地 HTTPS 加密证书的工具
- memos - 笔记服务,具有移动客户端、浏览器扩展等生态
- wayback - 网页快照备份
- pan-light - 不限速的百度网盘客户端, 基于 Go + Qt5 开发
- 1Panel - Linux 服务器运维管理面板
- Artalk - 自托管评论系统
- studygolang - Go 语言中文网
- cfssl - Cloudflare 开源的 PKI 和 TLS 工具集
- mdr - 命令行下的 Markdown 阅读工具
- Rainbond - 基于Docker、Kubernetes等容器技术的开源PaaS
- EiBlog - 博客
- BaiduPCS-Go - 百度网盘客户端(命令行)
- pipe - 博客平台
- OpenSCRM - 基于Go和React的企业微信私域流量管理系统
- bbs-go - 开源社区
- **NYADB2** - Go 实现的关系型数据库, 值得用于学习
- golinks - 创建自定义书签、命令、搜索等
- 链滴笔记 - 桌面端笔记应用
- Answer - 问答社区
- daily-warm - 每天定时发邮件给你关心的人
- daily-warm - 每天定时发邮件给你关心的人
- miniflux - Feed 阅读器
-
-
学习项目
-
静态网站生成器
- 100-go-mistakes - 100 个 Go 常见错误
- IAM - 身份识别与访问管理系统(教学项目)
- 1m-go-websockets - 该项目演示了如何用 Go 编写一个可以提供超过一百万个 `websockets` 连接、运行内存小于 1GB 的服务器
- Go by Example - 通过实例学习 Go
-
-
logo
-
未归类
-
Programming Languages
Categories
Sub Categories
组织
115
数据库
97
网络
66
文本处理
59
解释器
48
未归类
47
命令行
45
测试
41
开发辅助包
33
代码分析
30
文件/存储
28
图形处理
28
桌面开发
27
调试
27
Web 框架
23
构建编译
22
Git
19
JSON
19
微服务
19
数据结构
18
算法
18
配置
17
Serverless
15
搜索推荐
14
任务/定时器
14
缓存
14
监控告警
13
爬虫
12
Auth
12
容器技术
12
RPC
11
错误处理
11
静态网站生成器
11
日志
11
终端工具
11
大牛
11
HTTP
11
UUID
10
邮件
10
机器学习
10
限流器
10
模板引擎
10
路由
9
持续集成/部署
9
系统信息
9
即时通信
9
业务框架
9
协程/线程
9
依赖管理
8
代码生成
8
视频
8
序列化
8
图表
7
项目骨架
7
查询语言
7
WebSocket
7
集群管理
7
安全
7
游戏相关
6
流处理
6
HTTP压测
6
数学计算
6
解压缩
6
DDD 框架
5
系统开发
5
日期时间
5
编译器
5
消息队列
4
表单
4
网关
4
区块链
4
优雅升级
4
中间件
3
文档
3
依赖注入
3
微信
3
统计分析
3
运行器
3
加密/解密
3
并发
2
人工智能
2
SDK
1
TCP 框架
1
编辑器
1
移动端
1
devops
1
Keywords
go
537
golang
530
cli
51
database
45
docker
34
sql
33
mysql
33
json
32
kubernetes
32
golang-library
28
http
28
terminal
26
testing
25
framework
23
command-line
21
microservice
20
postgresql
20
security
19
redis
19
api
17
grpc
17
devops
17
parser
17
containers
17
library
16
middleware
16
microservices
16
git
16
tui
15
concurrency
15
serverless
15
windows
14
linux
14
sqlite
14
javascript
13
markdown
13
fast
13
proxy
13
websocket
12
metrics
12
monitoring
12
web
12
performance
12
cloud-native
12
distributed-systems
12
self-hosted
12
linter
11
rpc
11
automation
10
mongodb
10