Go 语言优秀资源整理,为项目落地加速🏃
在 GitHub 上稳定更新,觉得不错请点个 Star ❤️
如转载分享,请保留出处,谢谢 😆
国内官网镜像(访问快~): https://golang.google.cn
GitHub: https://github.com/golang/go
开发者平台: https://go.dev
Wiki: https://github.com/golang/go/wiki
官方博客: https://blog.golang.org
-
简单性
复杂性把可读的程序变得不可读,复杂性终结了很多软件项目。
-
可读性
代码是给人看的,代码阅读时长远超编写。程序必须可维护,那可读是第一步。
-
生产率
拥有众多的工具集和基础库,可以很简单方便的完成绝大多数工作。 编译速度足够快,拥有动态语言的高效,但却不会面临动态语言不可靠的问题。 自带编程规范,使得团队代码一致,也帮助开发者发现和避免潜在的错误。
- GitHub Topic for Go
- Awesome Go
- golang-open-source-projects - 含描述的中文版 Awesome Go
- Awesome Go Storage - Go 存储相关开源项目
- awesome-go-China - 专门收集华人写的开源项目
- Go Patterns - Go 版本的设计模式
- sevenelevenlee/go-patterns - 设计模式
- GoF 设计模式
- greyireland/algorithm-pattern - 算法模板
- go-algorithms - Go 版本的数据结构和算法
- Go 学习之路 - Go 学习资料汇集
- Go 开发者路线图
- ReposHub-Go
Go 语言方面的大牛,或者优秀 Go 项目的组织
- mattn - 写了数百个 Go 项目,盛产优质项目
- Unknwon - gogs/macaron 等项目作者,《The Way to Go》译者
- Jinzhu - gorm/QOR 等作者
- valyala - fasthttp/fastjson 等作者
- vmihailenco - go-redis/go-pg 等作者
- kataras - iris 作者
- bep
- spf13
- Uber - Open Source Software at Uber
- Gorilla web toolkit
- Stretchr - Tame your unstructured data
- Containous
- lestrrat-go
- HashiCorp
- juju
- tidwall
- Proposing Changes to Go - Go 语言设计文档
- Go 语言设计与实现
- Go 语言原本
- Go 101 (中文版)
- Go 官方入门指南
- Go 语言高级编程
- Go 专家编程
- Go 编程语言
- Golang 标准库文档(官方/中文)
- Go 语言标准库
在线阅读
- 《The Way to Go》中文版
- Go 语言圣经(中文版)
- Go语言入门教程
- Go 实战开发
- Go Web 应用开发
- Go 学习技能树
- 实效 Go 编程
- Go 语言语法详解笔记
- Go 语言学习资料与社区索引
- Go database/sql tutorial
- GO 命令教程
- 深入解析 Go
- Go 语言博客实践
- 学习 Go 语言
- Go2编程指南
- Go database/sql tutorial - Go 数据库(database/sql)开发使用教程
- Go Web Examples - Go Web 开发示例
- Go Assembly - 通过示例介绍 Go 汇编功能
- Ultimate Go - 终极 Go 学习指南,包含大量文档化的代码和程序分析
- Go 教程 - 腾讯云开发者手册
- Golang 开发笔记
- golang-notes - Go 源码阅读笔记
- The Little Go Book (中文版)
- Learning Go — from zero to hero
- go-internals - 深入理解 Go
- Learn Go with Tests
- Go基础教程
- 7天用Go从零实现系列
- Go 语言高性能编程
- Golang - 100天从新手到大师 - 某培训机构的部分教程内容
- algo - 107+ 编码面试问题,包括详细的解决方案,测试用例和程序分析
- over-golang - Go 学习笔记
- over-algorithm - Go 算法笔记
- learngo - 1000+ Go 示例、练习和测试
- go-leetcode - LeetCode 实现
- 玩转 GO - 《Mastering GO》中文译本
- leetcode-cookbook - LeetCode in Go
- Golang修养之路
- Go语法树入门
- Uber Go Style Guide
- The Go Programming Language Specification (中文老版)
- 实效 Go 编程
- Go Code Review Comments
- Go Code Convention
- Go FAQ 101
- Go Details 101
- Go Tips 101
- Go Quizzes 101
- go-advices
- go-perfbook - 编写和优化Go代码
- Practical Go: Real world advice for writing maintainable Go programs (Go 语言实践:编写可维护的程序的建议)
- Go Training - 大量优质 Go 相关文章、视频等资料
- Go语言爱好者周刊
- Go 夜读 - Go 标准包、开源项目源代码阅读讲解
- Go-Questions - Go 语言学习入门和进阶知识
- Go的50度灰:Golang新开发者要注意的陷阱和常见错误
- Go 程序的性能优化及 pprof 的使用
- gops - Go语言程序查看和诊断工具
- Go源码分析——http.ListenAndServe()是如何工作的
- GoConvey 框架使用指南
- GoStub 框架使用指南
- GoMock 框架使用指南
- Monkey 框架使用指南
- 基于 Go 语言构建企业级的 RESTful API 服务 - 掘金小册
- Go语言核心36讲 - 极客时间
- studygolang - Go 语言中文网
- mkcert - 生成本地 HTTPS 加密证书的工具
- Rainbond - 基于Docker、Kubernetes等容器技术的开源PaaS
- NYADB2 - Go 实现的关系型数据库, 值得用于学习
- EiBlog -
国产
博客 - pan-light - 不限速的百度网盘客户端, 基于 Go + Qt5 开发
- BaiduPCS-Go - 百度网盘客户端
- daily-warm - 每天定时发邮件给你关心的人
- pipe - 博客平台
- mdr - 命令行下的 Markdown 阅读工具
- miniflux - Feed 阅读器
- golinks - 创建自定义书签、命令、搜索等
- 链滴笔记 - 桌面端笔记应用
- wayback - 网页快照备份
- 1m-go-websockets - 该项目演示了如何用 Go 编写一个可以提供超过一百万个
websockets
连接、运行内存小于 1GB 的服务器 - Go by Example - 通过实例学习 Go
- Macaron - 一款具有高生产力和模块化设计的 Go Web 框架
国产
- Beego - 一个使用 Go 的思维来帮助您构建并开发 Go 应用程序的开源框架
国产
- Gin - 轻量 Web 框架
- Iris - Web 开发框架
- Revel
- echo
- chi
- Faygo -
国产
- Teleport - Socket 框架
- GoFrame -
国产
- QOR - 系列应用开发组件包
- Buffalo
- DotWeb -
国产
- REST Layer - REST API framework
- Honeytrap
- Ponzu
- utron
- muxie
- Buffalo - 快速生成 Web 项目的开发工具
- go-web-framework-benchmark
- fiber - 一种 Express 风格的、基于 fasthttp 的 HTTP Web 框架
- aah
- go-zero - 好未来开源的 Web 框架
- pingcap/fn - 支持绑定任何方法,构建成 POST+JSON 接口
- 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 - 通过命令行创建前后端项目的开发骨架
- zinx - TCP并发服务器框架
- Negroni - Web 中间件
- csrf - CSRF 中间件
- handlers - A collection of useful handlers for Go's
net/http
package
- SizedWaitGroup - 并发控制
- concurrent - concurrency utilities
- urfave/cli - 命令行程序构建工具
- Cobra - 命令行构建包
- flaggy - 命令参数解析
- pflag - 命令行参数处理
- kong - 命令行解析
- clop - 命令行解析包
- go-flags - 命令行参数解析
- progressbar - 在终端上输出进度条
- cheggaaa/pb - 终端进度条
- mpb - 支持多个进度条
- Color - 命令行文字颜色
- gookit/color - 命令行色彩使用库
- termui - 终端仪表盘
- tui - 终端 UI
- termenv - 终端应用程序的高级 ANSI 样式和颜色支持
- asciigraph - 在终端中绘制 ASCII 字符的图表
- spinner - 涵盖70多种符号或进度条的控制器
- tablewriter - 终端中输出表格内容
- PIXterm - 在命令行终端中绘图
- WTF - 一个命令行的信息仪表盘,可以定制显示内容
- termdash - 基于 Go Terminal 的仪表板系统
- bubbletea - TUI 框架
- PTerm - 支持图表、表格、进度条、树等终端输出展示
- gosu - 以指定的用户权限来运行脚本
- gotop - 类 top 系统监控显示
- go-colorable - Colorable writer for Windows
- go-isatty - TTY 环境判断
- fzf - 命令行下的文件 Finder
- go-daemon - daemon 进程包
- go-prompt - 命令行交互式输入
- peco - 交互式过滤工具
- pty - PTY for Go
- vtclean - 从终端输出字符串中解析出纯文本
- HttpRouter
- mux - URL 路由和调度器
- gocraft/web
- go-querystring - 转换结构体为URL请求参数
- CleverGo
- rewrite - rewrite 中间件
- DNS - DNS 库
- CoreDNS - DNS 服务器
- RoadRunner - PHP 应用服务器、进程管理器、负载均衡,用于替代
Nginx + FPM
- GoReplay - 流量收集&回放
- Sharingan - 滴滴开源的流量录制回放工具
- Glorp - HTTP 拦截&重放的 CLI 工具
- p2pspider - 种子嗅探器
- torrent - BitTorrent 相关工具库
- rain - BitTorrent 客户端和库
- httpteleport - Teleports 10Gbps http traffic over 1Gbps networks
- FIND3 - WiFi 设备发现
- SubFinder - 子域名发现工具
- ggz - 短网址服务
- httpstat
- grab - 文件下载
- go-getter - 可使用 URL 作为输入的主要形式从各种来源下载文件或目录
- go-netty - 网络框架
- gnet - 事件驱动 Go 网络框架
- httplab - The interactive web server
- yamux - Multiplexer
- sftp - SFTP support for the
go.crypto/ssh
package - evio - 事件驱动网络框架(reactor 模式)
- gaio - 事件驱动网络框架(proactor 模式)
- httpretty - 在终端上漂亮地打印出 HTTP 请求
- blocky - 作为局域网 DNS 代理拦截广告
- lossy - 模拟 net.PacketConn 和 net.Conn 接口的带宽,延迟和数据包丢失
- go-libp2p - P2P
- go-ipfs-api - IPFS
- gomobile-ipfs - 为移动终端提供IPFS网络访问支持
- go-multiaddr - multiaddr
- kcp-go - 可靠的 UDP 通讯包
- gliderlabs/ssh - 像
net/http
一样轻松搭建 SSH 服务器
- Caddy - 类似 Nginx 的 Web 服务器
- Traefik - 反向代理&负载均衡
- Proxy - golang 实现的高性能代理服务器
- ProxyPool - 采集免费的代理资源为爬虫提供有效的IP代理
- frp - 可用于内网穿透的高性能的反向代理应用
- nps - 一款轻量级、高性能、功能强大的内网穿透代理服务器
- MOSN - 云原生网络代理
- Pomerium - 基于身份的反向代理
- V2Ray
- V2Fly - V2Ray 的社区版本
- Vegeta - HTTP 负载压测工具
- hey - Web 压测工具
- bombardier - Web 压测工具
- go-wrk
- fasthttp - 比
net/http
快 10 倍的 HTTP 工具包 - Resty - HTTP & REST 客户端包
- gout - HTTP 客户端
- gentleman - HTTP 客户端
- goz
- UserAgent - 解析 HTTP User Agent
- purell - URL 规范工具包
- go-autorest - HTTP 管道请求方式的客户端
- gorilla/websocket
- nhooyr/websocket - 官方推荐的包
- websocketd - Go 开发的一键搭建 WebSocket 服务器命令行工具
- ws - WebSocket 开发包
- melody - WebSocket 服务框架
- neffos - 一个快速且可扩展的 WebSocket 框架
- Centrifugo - 实时消息服务器,可以与任何语言编写的应用程序后端结合使用
- goim - 支持集群的 im 及实时推送服务
- Tinode - 即时消息服务器,通过 websocket/JSON 或 gRPC/TCP 等协议传输
- WebRTC - WebRTC 实现
- Berty - 安全的点对点通讯软件
- GoKu API Gateway CE - eoLinker 开源的 API 网关
- vmihailenco/msgpack - 支持 msgpack
- go/codec - 支持 msgpack/binc/cbor/json
- golang/protobuf - Go 版本的 Protocol Buffers
- gogo/protobuf -
golang/protobuf
的扩展替代品 - Objx - 操作 map, slice, JSON 等数据的包
- snappy - Go 语言版本的 Snappy
- gRPC-Go - gRPC 官方包
- gorpc
- gorilla/rpc - 构建基于 HTTP 的 RPC 服务,比如 JSON-RPC
- Lile - gRPC 服务构建包
- rpcx
- Twirp - 基于 Protobuf 的 RPC 框架,与 gRPC 类似
- lile - gRPC 服务生成工具
- dubbo-go - Dubbo Go 版本
- gomail - 邮件发送包
- scorredoira/email
- Hermes - Go 版本的 mailgen 引擎,根据配置生成 HTML 格式的邮件
- MinIO - 对象存储服务器
- rclone - 不同云存储之间同步文件
- Syncthing - 文件同步
- fsnotify - 文件系统监控工具
- reflex - 监听文件变更并执行命令
- gohttpserver - HTTP 静态文件服务器
- XLSX - Excel 读写包
- Excelize - 360 开源的 Excel 工具包
- gopdf - PDF 生成
- rsc/pdf - PDF reader
- SeaweedFS - 分布式文件系统
- go-fastdfs - 分布式文件存储服务
- Dragonfly - 基于 P2P 的分布式文件系统
- filetype - 检测文件类型
- cae - 实现 ZIP/TAR.GZ 解压缩
- archiver - 多格式支持的解压缩包
- compress - Optimized compression packages
- Afero - 文件操作包
- fsync - 文件/目录同步
- filebrowser - Web File Browser
- Bigfile - 文件传输管理系统
- filetype - 文件类型与 MIME 检测
- go-app-paths - 跨平台检索目录文件
- copy - 拷贝文件夹
- goTemplateBenchmark - 给各 Go 模板引擎做性能测试,当然也就包含了最全的模板引擎包
- Jet - 速度很快
- amber - HTML 模板引擎
- fasttemplate - Simple and fast template engine for Go
- quicktemplate
- mustache
- Ace
- Sprig - 常用模板方法
- pongo2 - Django 语法风格的模板引擎
- Blackfriday - Markdown 解析器
- Lute - 结构化的 Markdown 引擎
- goldmark - Markdown 解析器
- docx2md - 转换 Word 为 Markdown
- glamour - 命令行下渲染 Markdown
- go-md2man - 转换 Markdown 为 man 手册内容
- gomarkdown/markdown
- DOM - HTML DOM 节点操作
- obelisk - 保存 Web 网页为 HTML 单页面
- html2text - HTML 转 text
- go-readability - 让 HTML 可读性更高
- gomponents - 声明式视图组件,可以渲染成 HTML5
- daz - HTML 组件组合,渲染 HTML
- html-strip-tags-go - 去除 HTML 标签
- bluemonday - XSS 探测
- go-runewidth - 字符长度计算
- gpy - Go 语言汉字转拼音工具
- go-hashids - hashids 的 Go 版本
- go-pinyin - 汉语拼音转换工具 Go 版
- mahonia - 字符集编码转换
- pangu.go - Go 版本的 pangu,给中英文之间加空格
- goorgeous - A Go ORG syntax parser to HTML
- sergi/go-diff - Go 版本的 diff 工具包
- sourcegraph/go-diff - Go 版本的 diff 工具包
- Chroma - 代码语法高亮
- syntaxhighlight - 代码高亮
- kyokomi/emoji
- enescakir/emoji
- golang/freetype - Freetype font rasterizer
- prose - natural language processing library
- minify - Web 静态资源压缩(HTML/JS/CSS/JSON)
- Inflection - Pluralizes and singularizes English nouns
- autocorrect - 自动给中英文之间加入合理的空格并纠正专用名词大小写
- bleve - modern text indexing
- etree - XML 解析&生成
- feeds - RSS 内容生成
- gofeed - RSS & Atom feeds 内容解析
- sitemap - sitemap.xml 生成
- gogrep - 通过语法树搜索 Go 源码
- PipeIt - 文本转换,清理和提取工具
- regexp2 - 全功能正则表达式引擎。如果标准库的 regexp 满足不了你,可以尝试使用 regexp2
- html2article - 基于文本密度的 html2article 实现
- hostctl -
hosts
命令行管理工具 - go-shellwords - 解析命令行中字段
- woke - 检查文本文件中是否存在歧视词汇
- go-password-validator - 密码强度校验器
- xurls - 从文本中提取 URL
- whatlanggo - 自然语言探测
- swag - Swagger for Go
- gin-swagger - Swagger for Gin
- go-swagger - Swagger 2.0 implementation for go
- GoDotEnv -
.env
配置文件解析 - go-yaml/yaml
- ghodss/yaml
- toml -
TOML
解析&编码包 - INI -
INI
配置文件解析 - Viper - 支持
JSON
,TOML
,YAML
,HCL
,Java
等配置文件 - fig
- Multiconfig
- configor
- envconfig
- confd - 配置管理工具
- HCL - configuration language
- env - 解析 ENV 环境变量到结构体中
- configor
- koanf
- go-toml - TOML
- butler - Adobe 开源的配置管理系统
- envsubst - 环境变量替换
- Crawlab - 基于Golang的分布式爬虫管理平台,支持Python、NodeJS、Go、Java、PHP等多种编程语言以及多种爬虫框架
- Colly - 网络爬虫框架
- Pholcus - 支持分布式的高并发、重量级爬虫软件
- go_spider
- goquery
- Muffet - 网站链接检查器
- Creeper
- pingcap/parser - 兼容 MySQL 的 SQL 解析
- xsqlparser - SQL 解析
- sqlparser - SQL 解析
- vitess-sqlparser - SQL 解析
- dbml-go - DBML 解析
- usql - 几乎支持全部 SQL 与 NoSQL 数据库的命令行工具
- GORM - GORM V2
- Xorm
- XormPlus - Xorm 的定制增强版本
- GoRose
- sqlx -
database/sql
扩展包 - dbq - 数据库操作
- gendry - 滴滴开源的SQL Builder
- Squirrel - Fluent SQL Builder
- qb - the database toolkit for go
- redigo - Redis 客户端
- go-redis
- mgo
- globalsign/mgo - The MongoDB driver for Go
- mgo使用指南
- amqp - Go client for AMQP 0.9.1
- kingshard - MySQL Proxy
- SOAR - 对SQL进行优化和改写的自动化工具
- Vitess - 用于部署、扩展和管理大型MySQL实例集群的数据库解决方案
- gh-ost - GitHub 开源的在线更改 MySQL 表结构的工具
- SQLer - write APIs using direct SQL queries with no hassle, let's rethink about SQL
- gocraft/dbr
- Gaea - 小米开源的基于 MySQL 协议的数据库中间件
- OctoSQL - 支持多数据库的 SQL 查询工具
- goose - 数据库迁移工具
- migrate - 数据库迁移工具
- ent - An Entity Framework For Go
- godb - a Go query builder and struct mapper
- go-nulltype
- go-mysql - MySQL 工具集
- SQLittle - 纯读取 SQLite 文件
- Bifrost - MySQL 同步到 Redis、ClickHouse 等服务的异构中间件
- elasticsql - 转换 SQL 成 Elasticsearch DSL
- Go-MySQL-Driver - MySQL 驱动
- go-mssqldb - MSSQL 驱动
- pq - PostgreSQL 驱动
- mongo-go-driver - MongoDB 官方出品的 Go 语言驱动
- clickhouse-go - ClickHouse 官方 Go 语言客户端
- go-sqlite3 - SQLite3 驱动
- etcd - KV 分布式存储
- InfluxDB - 时间序列数据库
- Prometheus - 服务监控系统 & 时间序列数据库
- Thanos - 支持 Prometheus 简化部署、高可用、分布式存储
- CockroachDB - SQL database
- Cayley - 图数据库
- RadonDB - 基于 MySQL 研发的新一代分布式关系型数据库
- TiDB - 分布式关系型数据库,兼容 MySQL 协议
- AresDB - Uber 开源的 GPU 驱动的实时分析存储&查询引擎
- leveldb - LevelDB 的 Go 实现
- Dgraph - 分布式图数据库
- rqlite - 基于 SQLite 的轻量级分布式关系数据库
- gaeadb
- BadgerDB - KV 数据库
- LBADD - 用 Go 实现的分布式 SQL 数据库
- go-memdb - 建立在不可变 Radix 树上的内存数据库
- VectorSQL - 应用于 IoT 和大数据的 DBMS 数据库,类似于 ClickHouse
- BuntDB - 基于内存的KV数据库,支持磁盘持久化、ACID事务
- TinySQL - 迷你分布式关系型数据库
- Tile38 - GEO 数据库
- Redcon - 兼容 Redis 协议的自定义 Redis 服务,采用 BuntDB 和 Tile38 实现存储
- genji - 文档内嵌型数据库
- Dolt - 像 Git 一样操作数据库
- GCache
- bbolt - key/value store
- BigCache
- go-cache - KV 内存缓存
- gomemcache - Memcache 客户端
- cache2go
- ristretto
- fastcache
- FreeCache
- groupcache - 分布式缓存
- cachego - 支持 Redis、Bolt 等缓存接口
- diskv - 基于硬盘的 KV 存储
- wukong - 全文搜索引擎
- go-elasticsearch - 官方 ES 客户端
- elastic - Elasticsearch 客户端
- go-mysql-elasticsearch - Sync MySQL data into elasticsearch
- gse - Go 语言分词
- sego - Go 中文分词
- gojieba - "结巴"中文分词的 Go 语言版本
- Riot - 全文搜索引擎
- simplefts - 超简单的全文搜索引擎实现
- Blast - 全文搜索
- validator
- go-tagexpr - 字节跳动开源的结构体标签表达式解释器
- schema - converts structs to and from form values
- Casbin - 权限控制管理
- pam-ussh - Uber's SSH certificate pam module
- jwt-go - JWT for Go
- kataras/jwt - JWT 轻量级实现
- cristalhq/jwt
- sessions - 后端 SESSION 服务
- securecookie - cookie 加密/解密
- Goth - Multi-Provider Authentication for Go
- branca - 号称比 JWT 更安全的 token 解决方案
- 2fa - Two-factor authentication on the command line
- goav - FFmpeg 视频处理
- lal - 直播流媒体网络传输服务器
- bililive-go - 直播录制工具
- screego - 通过浏览器共享开发者屏幕
- livego - 直播服务器
- barcode - 条形码/二维码生成器
- picfit - 图片操作、裁剪、管理服务器
- gmfs - 图片操作、裁剪、管理服务器
- besticon - favicon 服务
- Caire - 图片操作库
- Imaging - 图片操作库
- gocaptcha - 验证码生成
- base64Captcha - 验证码
- go-is-svg - 校验是否为 SVG 图片
- identicon - 根据用户的 IP 、邮箱名等任意数据为用户产生漂亮的随机头像
- prominentcolor - 识别图片的主要颜色
- dchest/captcha - 生成和验证图片或音频验证码
- bimg - 图片处理
- imaginary - 图片处理服务
- primitive - 用原始几何图形绘制图形
- orly - 生成你自己的O'RLY动物书封面
- smartcrop - 智能裁剪图片
- go-face - 面部识别
- go-echarts - Echarts 图表库
- gonum/plot - 图形绘制
- pinhole - 3D 线框图绘制
- globe - 地球线框图绘制
- ink - Go 中的 2D 图形框架
- go-plantuml - 基于 Go 源码生成 plantuml 图
- go-diagrams - 通过代码生成图表
- Mage - a Make/rake-like build tool using Go
- GoReleaser - Go 多平台二进制文件打包、并支持发布到 Homebrew 的工具
- goxc - 跨平台编译工具(因 1.5 版本开始已自带交叉编译,故已不再维护)
- Task - 类似于
Make
的构建工具 - codegangsta/gin - 热编译工具
- Air - 热编译工具
- gowatch - 热编译工具
- Fresh - 热编译工具
- dh-make-golang - 自动构建 Debian 包
- gobinaries - 不用安装Go就能编译安装Go编写的程序
- NFPM - deb、rpm、apk 等打包工具
- tableflip - Web 服务升级
- selfupdate - 二进制文件自动升级
- overseer
- 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 - 可视化程序性能监控工具,支持多种语言
- go-spew - 变量打印工具
- Delve - Debug 工具
- gdlv - Delve 界面版本
- Weaver - 跟踪 Go 程序执行链路
- repr - 变量打印工具
- pp - 彩色变量打印工具
- ffmt - 变量打印工具
- gops - 谷歌官方出品的 Go 程序监控调试工具
- pprof
- go-callvis - 可视化Go程序的调用图
- q - 自动打印变量类型并且格式化输出
- Litter
- RDebug - 滴滴开源的一款用于 RD 研发、自测、调试的实用工具
- debugcharts - Go 内存占用可视化调试工具
- gcvis - 实时可视化 gctrace
- pkg/profile
- statsviz - 在浏览器中实时查看 Go 应用程序运行时统计信息(GC,MemStats 等)
- autopprof - 自动分析 pprof
- stack - 捕获、操作、格式化调用栈信息
- pretty - 打印变量
- GoConvey - 含Web界面的单元测试框架
- GoMock - 谷歌出品的Mock测试框架
- GoStub
- Monkey
- SuperMonkey - 让私有方法可测
- Ginkgo - BBD 测试框架
- fperf - 压测工具
- gocheck
- Testify
- gotests - 根据源码自动生成测试文件
- TestSQL - 根据 SQL 创建语句生成测试数据
- httpmock - HTTP Mock
- Goblin - BDD 测试框架
- bxcodec/faker - Struct Data Fake Generator
- gofakeit - 随机数据生成器
- dmgk/faker
- go-tprof - 包测试报告生成工具
- go-fuzz - randomized testing for Go
- gofight - Testing API Handler
- sqlmock - SQL 测试
- silk - 基于 Markdown 的接口测试
- gock - HTTP mock 测试
- godog - BDD 测试框架 Cucumber 的 Go 版本
- endly - E2E(端到端)测试
- is - 迷你测试框架
- Terratest - 基础设施测试,比如 Docker
- agouti - Web 驱动的验收测试框架
- httpexpect - 端到端 HTTP & REST 测试框架
- gocov - 测试覆盖率
- miniredis - Redis 数据测试
- htmltest - HTML 测试
- gnomock - 无需 mock 的 Go 代码测试框架
- gunit - xUnit 风格测试框架
- quicktest
- errors
- errorx
- errwrap - Go tool to wrap and fix errors with the new
%w
verb directive - erris - Linter for errors.Is and errors.As
- eris - 旨在通过错误包装,堆栈跟踪和输出格式为你提供对错误处理的更多控制
- errlog - 使用静态和堆栈跟踪分析来快速确定哪个函数调用导致的错误
- juju/errors
- go-fault - GitHub 官方出品,基于标准库 http 中间件的故障注入库
- merry - 支持堆栈、状态码的错误处理
- cockroachdb/errors - Go errors with network portability
- go-multierror - 支持错误列表
- go-hardware - 收集了一堆关于硬件信息的包
- cpuid - CPU 信息
- gopsutil -
ps
功能包 - go-sysinfo - 系统信息
- go-locale - 跨平台语言检测库
- go-ps - 系统进程信息
- go.uuid - UUID 库
- SEQSVR - Go + MySQL 实现的分布式 ID 生成服务
- google/uuid - Google 开源的 uuid 包
- gofrs/uuid
- snowflake - Twitter snowflake IDs
- logr - 日志包标准接口
- Logrus - 日志记录包
- zerolog
- zap - Uber 开发的日志记录包
- Seelog
- logkit - 七牛开源的日志收集工具
- gogstash - 类似于 Logstash 的日志收集器
- lumberjack - 日志文件切割
- file-rotatelogs - 日志文件切割
- go-syslog - 极速 Syslog 解析器
- OpenFalcon - 小米开源的监控系统
- Prometheus - 服务监控系统 & 时间序列数据库
- Grafana - 分析监视平台, 支持 Graphite, Elasticsearch, OpenTSDB, Prometheus, InfluxDB 等数据源
- grabana - 用 Go 代码快速创建 grafana dashboards
- TeaWeb - 一款集静态资源、缓存、代理、统计、监控于一体的可视化智能WebServer
- Jaeger - 分布式追踪系统
- go-osstat - 系统指标统计
- grafterm - Metrics dashboards on terminal
- mymon - MySQL 运行监控
- moby - Docker
- docker-ce
- Rancher - 全栈化企业级容器管理平台
- Gorsair
- docui - TUI Client for Docker
- Podman - 管理和运行任何符合
OCI
规范的容器和容器镜像 - Skopeo - 镜像管理工具
- Buildah - 构建
OCI
容器镜像的工具 - go-docker - 用 Go 实现 Docker 核心功能
- Packer - 轻量级的镜像定义工具
- Nomad - 集群管理器和调度器
- OpenShift Origin - Red Hat 开发的容器化软件解决方案
- kubernetes - 容器调度管理平台
- k0s - 最小体积的 k8s 发行版
- goml - 机器学习库
- GoLearn - 一个 "开箱即用" 的机器学习库
- glow - 易用的分布式计算系统
- Gobot - 机器人和物理计算语言库
- Olivia - 神经网络
- Pico - 基于像素强度比较的物体检测纸张的纯 Go 脸部检测库
- tfgo - Tensorflow in Go
- Prophecis - 微众银行自研的一站式云原生机器学习平台
- AID - 机器学习ops平台,发现、部署、优化
- SQLFlow - SQL引擎+AI引擎
- GoDS - Go 实现了多种数据结构
- Dragonboat - 多组 Raft 共识算法库
- eliben/raft - Raft 算法
- hashicorp/raft - Raft 算法
- Graft - Raft 算法
- golang-lru - LRU 算法实现
- tinylru
- finn - Fast Raft framework using the Redis protocol for Go
- xorfilter
- priyankchheda/algorithms - 各种算法的 Go 语言实现
- meow - Meow hash
- btree -
B-Tree
- basalt - 高性能的分布式的专门空间优化的 Bitmap 服务, 杜绝 Bloomfilter 和 CuckooFilter 的误判
- go-blurhash - BlurHash,是模糊图片的一种哈希算法
- xxhash - xxHash 哈希算法实现
- go-multihash - 各种 Hash 算法实现
- memberlist - 基于 gossip 协议实现的管理集群成员和成员失败检测的开发包
- go-datastructures
- Play-with-Data-Structures - 「玩转数据结构」课程的 Go 语言实现版本
- HashMap
- SipHash - SipHash-2-4
- Bigslice
- golang-set - The missing set collection
- rbang - R!tree 实现
- rtreego - R-tree
- tinybtree - B-tree
- dataframe-go - 用于数据统计和操作的包
- go-set - 集合工具包
- Wire
- go-autowire - 使用注解自动生成 wire 依赖注入文件
- dig
- Fx
- GJSON - JSON 解释器
- SJSON - JSON 修改工具
- fastjson - fast JSON parser and validator for Go
- jsonparser
- ffjson
- json-iterator - 滴滴开源的 JSON 解析器
- gojsonq - JSON/YAML/XML/CSV 等数据查询
- easyjson
- go-jsonc - 将带注释的 JSON 转为无注释的
- jin - JSON 操作工具包,同时具有标准库和类似
tidwall/gjson
和tidwall/sjson
的功能 - hujson - 支持注释的 JSON 解码
- pkg/json - JSON Decoder
- ColorJSON - 终端中打印彩色 JSON
- jid - JSON 数据解析读取工具
- goproxy.io -
GOPROXY
代理服务 - goproxy.cn - 更适合国内用户的代理服务
- Gopm - Go 包管理工具
- govendor - Vendor 包管理工具
- gom - 包版本管理工具
- rvflash/goup - 检查包版本是否有更新
- owenthereal/goup - Go 多版本管理
- Istio [中文文档] - 大型微服务系统管理工具
- goa
- Micro - 微服务工具
- Go kit - Go 微服务工具集
- GoKit CLI - Go kit 脚手架
- gogo
- go-chassis
- Go Micro - 微服务框架
- Kite
- Kratos - B站开源的微服务框架
- Temporal - 微服务编排平台
- Serf - 服务编排管理平台
- OpenFaaS - Serverless Functions Made Simple(功能服务化的 FaaS 框架)
- fn - 事件驱动的 FaaS
- riff - 基于 Kubernetes 的 FaaS
- Nuclio - 实时事件与数据的 Serverless 框架
- Flogo - 事件驱动的 Serverless 框架
- Dapr
- kubeless
- Fission - 基于 Kubernetes 的 Serverless
- pulumi
- Knative
- fx
- CDS - 持续集成服务
- gopub
- CodePub
- syncd - 代码部署工具
- Drone - 基于 Docker 的持续发布平台
- Cyclone - 持续集成&发布平台
- tbls - 用于记录数据库文档的 CI 友好工具
- gogs - 类似于 GitLab 的 Git 服务器
- Gitea - 由 gogs 分叉出的 Git 服务器
- go-git - Go 实现的 Git 操作
- gitin - commit/branch/status explorer for git
- hub - GitHub 命令行工具
- git-o-matic - 一个监控 Git 仓库变化和自动 pull/push 的工具
- gitbase - SQL 的方式查询 Git 日志
- git-chglog -
CHANGELOG
管理工具 - chglog -
CHANGELOG
管理工具 - lazyhub - GitHub 的终端 UI 客户端
- goaction - 在 Go 中编写 GitHub Action
- bit - Git 命令增强版,支持文件和分支名称自动完成、命令和标志建议
- go-github - GitHub API 操作库
- askgit - 通过 SQL 访问 Git 仓库信息
- git2graph - 根据 Git 仓库提交记录生成结构图
- Tollbooth - Simple middleware to rate-limit HTTP requests
- ratelimit
- RateLimit
- go-rate
- Circuit - 熔断器
- uber-go/ratelimit
- Sentinel - 阿里巴巴开源的面向分布式服务架构的流量控制组件 Go 语言版本
- gohalt - 限流
- TinyGo - 一个适用于微控制器、WebAssembly 和命令行工具的 Go 编译器
- minigo - A Go compiler from scratch
- llir/llvm - LLVM 编译器
- jit-compiler -
JIT
编译器
- participle - 通用的自定义语法解析包
- GopherLua - VM and compiler for Lua in Go
- go-lua - A Lua VM in pure Go
- DCLua - Go Lua Compiler and VM
- otto - JavaScript 解释器
- goja - ECMAScript 5.1(+) 实现
- v8go - Execute JavaScript from Go
- gpython - Python Interpreter on Go
- Grumpy - 转换 Python 为 Go 代码,谷歌开源
- starlark-go - Starlark in Go
- avo - x86 汇编程序构建器
- wagon - WebAssembly 解释器
- GopherJS - 把 Go 代码编译成 JavaScript 代码
- Yaegi - Go 语言解释器
- properties - Java properties scanner for Go
- jvm.go - JVM
- gobasic - A BASIC interpreter written in golang
- golisp -
Lisp
解释器 - dst - Go Decorated Syntax Tree
- mvdan/sh - Shell 解析、格式化、接口
- php-parser - PHP AST 语法解析
- deuill/go-php - PHP bindings for Go
- goridge - High-performance PHP-to-Golang IPC bridge
- RoadRunner - 高性能PHP应用服务器,支持负载均衡及进程管理
- CUE - Configure Unify Execute(Validate and define text-based and dynamic configuration)
- cel-go - Common Expression Language(CEL 的 Go 实现)
- Math-Engine - 使用 Go 实现的数学表达式解析计算引擎库,学习语法解析很适用
- Gval - 表达式计算
- expression-parsing
- goexp - Recursive descent expression parser in Go
- goastch - Go AST 语法解析
- tdop
- swallow
- Anko
- Expr - 编译&执行字符串中的表达式
- Tengo - 用 Go 编写的脚本语言
- V - Go 编写的语言
- kumarUjjawal/bison
- Monkey
- govaluate
- Compiler - 将自定义语法代码编译成 X86-64 Assembly
- elvish - 交互式 Shell 语言
- QLBridge - Go SQL Runtime Engine
- YQL - SQL WHERE 风格的规则引擎
- jennifer - Go 代码生成
- micro - 基于终端的编辑器
- sourcegraph - 代码搜索&导航
- graphql - Go 实现的 GraphQL
- graphql-go
- GQLEngine - 基于 graphql-go 实现
- RQL - REST 资源查询语言
- Thunder - GraphQL 服务构建框架
- gqlgen - 构建 GraphQL 服务器的包
- super-graph - 无需编写代码即可在 Go 项目中构建复杂的 GraphQL API
- Nano - 游戏开发框架
- Leaf
- einx
- CloudRetro - 游戏云服务框架
- Lorca - 用 Go 编写 HTML5 桌面程序,依赖 Chrome 进行 UI 渲染,但却不把 Chrome 打包到应用中
- webview - 用 Go 构建跨平台的桌面软件
- walk - Windows GUI toolkit
- go-gtk - Go bindings for GTK
- andlabs/ui - Platform-native GUI library for Go
- fyne - Material Design 风格的 GUI
- go-gl - Go bindings for OpenGL (generated via glow)
- therecipe/qt - 基于 Qt 的跨全平台 UI 包
- giu - 基于 Dear ImGui 的跨平台 GUI 框架
- go-app - 一个 WebAssembly 框架,用于使用 Go,HTML 和 CSS 构建 GUI 应用
- wails - 使用 Go 和 Web 技术创建桌面应用程序
- chromedp - 纯 Go 语言实现的驱动浏览器的 Chrome DevTools Protocol,可用于爬虫、反爬虫、测试等场景
- Rod - 一个为简化自动化和爬虫设计的 devtools driver,利用浏览器的 devtools 可编程接口来操控浏览器
- go-astilectron - 基于 Electron 的跨平台开发
- Gio - 跨平台 UI 框架,支持移动应用
- nucular - 基于 Gio 的实现
- GoVCL - 跨平台的 GUI 包
- vugu - WebAssembly UI 框架
- pkg/browser - 在浏览器中打开文件、URL
- MacDriver - macOS 原生 API
- golang/mobile - Go support for Mobile devices
- ants - goroutine 池
- tunny
- go-workers - 安全地并发运行一组 worker,通过 channel 进行输入输出
- Machine - 受 errgroup.Group 启发的协程管理
- Grift - Go based task runner
- cron - a cron library for go
- goCron - A Golang Job Scheduling Package
- jobrunner
- CurlyQ - 后台任务处理库
- overtalk/task - 任务的管理&执行,支持自定义次数的重发
- PPGo_Job - 定时任务管理系统
- gocelery - Celery 的 Go 语言实现
- Machinery - 通过分布式消息实现异步任务调度
- Hyperledger Fabric - 基于区块链的超级账本
- go-ethereum - 以太坊协议的官方 Go 语言实现
- bbgo - 用 Go 编写的加密货币交易框架
- btcd - 比特币实现
- copier - struct 之间拷贝值
- cast - 数据类型转换
- diff - 结构体&值比较
- go-extend
- com - 工具包
- php2go - Go 实现的 140+ 个 PHP 函数功能包
- gommon - Common packages for Go
- reflect2 - reflect api without runtime reflect.Value cost
- mapstructure - 将 map 值转换到结构体中
- naza - Go语言基础库
- automaxprocs - 自动设置
GOMAXPROCS
- c2go - 将 C 代码转换为 Go 代码的工具
- rnm - 代码重构辅助工具
- memviz - 图形化数据结构
- underscore.go
- go-testdeep - 非常灵活的深度比较包,扩展了 Go 测试包
- go-model -
struct
操作包 - concurrent-map - 并发安全
map
- goleak - 检测 goroutine 泄漏
- guregu/null - SQL/JSON的
null
处理包,提供替代类型 - stats - 标准数字统计
- Chronos - 静态竞争检测器
- collection - 替代原生的 Slice
- rf - 代码重构工具
- ChimeraCoder/gojson - 根据 JSON 生成结构体
- db2struct - 根据表结构生成结构体
- smallnest/gen - 根据表结构生成结构体
- sqlc - 根据 SQL 语句生成 Go 代码
- xo - 根据表结构或查询语句自动生成 Go 代码
- LinuxKit - 为容器构建安全、便携、可移植操作系统的工具包
- go-systemd - 绑定 systemd
- go-playground - 比官方更好用的 Go Playground
- Robotgo - Golang 跨平台自动化系统,控制键盘鼠标位图和读取屏幕,窗口句柄以及全局事件监听
- go-homedir
- i18n -
i18n
多语言工具包 - Paginater - 分页工具
- gls - Goroutine local storage
- go-version - 版本号比较
- go-semver - 语义版本
- semver - 另一个语义版本
- Metabolize - Decodes HTML meta tags into a Golang struct
- otp - 一次性密码工具包(One Time Password utilities)
- misspell - 常拼写错误的英语单词
- CRDT - CRDT(Convergent and Commutative Replicated Data Types)最终一致性算法的实现
- script - Making it easy to write shell-like scripts in Go
- sysadmin-utils
- licenseclassifier - 识别文件中的 license 类型
- rose - 在 HTML 中嵌入和运行 Go 代码
- esbuild - JavaScript 构建打包工具
- clipboard - 跨平台的粘贴板实现
- Timeliner - 搜集整理个人在社交网站上的数据并索引成时间线
- hc -
HomeKit
平台开发框架 - address - 地址处理库,支持多国语言
- webhook - 可执行 Shell 命令的 Web Hook 服务
- syndbg/goenv - Go 版本管理
- wfarr/goenv - Go 版本管理
- gvm - Go 版本管理
- GoLand - IDE 软件
- Visual Studio Code
- Go 101
- Go 语言中文网
- Golang **
- go-zh
- Golang sizeof tips - 输入结构体定义,会显示内存布局
- Golang Programs
- Golang bot