go-awesome/README.md

736 lines
38 KiB
Markdown
Raw Normal View History

2019-10-29 16:05:44 +08:00
# go-awesome
> Go 语言优秀资源整理,为项目落地加速🏃
2019-10-29 16:05:44 +08:00
>
> 在 [GitHub](https://github.com/shockerli/go-awesome) 上稳定更新,觉得不错请点个 Star ❤️
>
> 如转载分享,请保留出处,谢谢 😆
>
> 原文地址: https://shockerli.net/post/go-awesome
>
> GitHub: https://github.com/shockerli/go-awesome
---
> 官网: https://golang.org
>
> 国内官网镜像(访问快~): https://golang.google.cn
>
> GitHub: https://github.com/golang/go
>
> 开发者平台: https://go.dev
>
2019-10-29 16:05:44 +08:00
> Wiki: https://github.com/golang/go/wiki
## 指导原则
- 简单性
2019-10-29 16:05:44 +08:00
> 复杂性把可读的程序变得不可读,复杂性终结了很多软件项目。
- 可读性
2019-10-29 16:05:44 +08:00
> 代码是给人看的,代码阅读时长远超编写。程序必须可维护,那可读是第一步。
- 生产率
2019-10-29 16:05:44 +08:00
> 拥有众多的工具集和基础库,可以很简单方便的完成绝大多数工作。
> 编译速度足够快,拥有动态语言的高效,但却不会面临动态语言不可靠的问题。
> 自带编程规范,使得团队代码一致,也帮助开发者发现和避免潜在的错误。
## Awesome
- [**GitHub Topic for Go**](https://github.com/topics/golang)
- [**Awesome Go**](https://github.com/avelino/awesome-go)
- [golang-open-source-projects](https://github.com/hackstoic/golang-open-source-projects) - 含描述的中文版 Awesome Go
- [Awesome Go Storage](https://github.com/gostor/awesome-go-storage) - Go 存储相关开源项目
- [awesome-go-China](https://github.com/hyper0x/awesome-go-China/blob/master/zh_CN/README.md) - 专门收集华人写的开源项目
- [Go Patterns](https://github.com/tmrts/go-patterns) - Go 版本的设计模式
- [go-algorithms](https://github.com/0xAX/go-algorithms) - Go 版本的数据结构和算法
- [Go 学习之路](https://github.com/developer-learning/learning-golang) - Go 学习资料汇集
- [Go 开发者路线图](https://github.com/Alikhll/golang-developer-roadmap)
## 大牛
> Go 语言方面的大牛,或者优秀 Go 项目的组织
- [mattn](https://github.com/mattn?tab=repositories&q=&type=&language=go) - 写了数百个 Go 项目,盛产优质项目
- [Unknwon](https://github.com/Unknwon) - gogs/macaron 等项目作者《The Way to Go》译者
- [Jinzhu](https://github.com/jinzhu) - gorm/QOR 等作者
- [valyala](https://github.com/valyala) - fasthttp/fastjson 等作者
- [vmihailenco](https://github.com/vmihailenco) - go-redis/go-pg 等作者
- [kataras](https://github.com/kataras?utf8=%E2%9C%93&tab=repositories&q=&type=source&language=go) - iris 作者
- [bep](https://github.com/bep)
- [spf13](https://github.com/spf13)
- [Uber](https://github.com/uber?q=&type=&language=go) - Open Source Software at Uber
- [Gorilla web toolkit](https://github.com/gorilla)
- [Stretchr](https://github.com/stretchr) - Tame your unstructured data
- [Containous](https://github.com/containous)
## 文档
- [Go 官方入门指南](http://tour.studygolang.com)
- [Go 语言高级编程](https://github.com/chai2010/advanced-go-programming-book)
- [Go 专家编程](https://github.com/RainbowMango/GoExpertProgramming)
- [Go 编程语言](http://docscn.studygolang.com)
- [Golang 标准库文档(官方/中文)](https://studygolang.com/pkgdoc)
- [Go 语言标准库](https://github.com/polaris1119/The-Golang-Standard-Library-by-Example) *[`在线阅读`](https://books.studygolang.com/The-Golang-Standard-Library-by-Example/)*
- [《The Way to Go》中文版](https://github.com/Unknwon/the-way-to-go_ZH_CN)
- [Go 语言圣经(中文版)](https://github.com/gopl-zh/gopl-zh.github.com)
- [Go语言入门教程](http://c.biancheng.net/golang/)
- [Go 实战开发](https://github.com/astaxie/Go-in-Action)
- [Go Web 应用开发](https://github.com/astaxie/build-web-application-with-golang)
- [Go 学习技能树](http://yougg.github.io/static/gonote/GolangStudy.html)
- [实效 Go 编程](https://go-zh.org/doc/effective_go.html)
- [Go 语言语法详解笔记](https://github.com/yougg/gonote)
- [Go 语言学习资料与社区索引](https://github.com/Unknwon/go-study-index)
- [Go database/sql tutorial](http://go-database-sql.org)
- [GO 命令教程](https://github.com/hyper0x/go_command_tutorial)
- [深入解析 Go](https://github.com/tiancaiamao/go-internals)
- [Go 语言博客实践](https://github.com/achun/Go-Blog-In-Action)
- [学习 Go 语言](https://github.com/mikespook/Learning-Go-zh-cn)
- [Go 夜读](https://github.com/developer-learning/night-reading-go) - Go 标准包、开源项目源代码阅读讲解
- [Go2编程指南](https://github.com/chai2010/go2-book)
- [Go database/sql tutorial](https://github.com/VividCortex/go-database-sql-tutorial) - Go 数据库(database/sql)开发使用教程
- [Go Web Examples](https://github.com/gowebexamples/gowebexamples) - Go Web 开发示例
- [Go Assembly](https://colobu.com/goasm/) - 通过示例介绍 Go 汇编功能
- [Ultimate Go](https://github.com/hoanhan101/ultimate-go) - 终极 Go 学习指南,包含大量文档化的代码和程序分析
- [Go 教程](https://cloud.tencent.com/developer/doc/1101) - 腾讯云开发者手册
2019-10-29 16:05:44 +08:00
## 指南
- [Uber Go Style Guide](https://github.com/uber-go/guide)
- [Go 编程语言规范](http://docscn.studygolang.com/ref/spec.old)
- [实效 Go 编程](http://docscn.studygolang.com/doc/effective_go.html)
- [Go Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments)
- [Go Code Convention](https://github.com/unknwon/go-code-convention)
2019-10-29 16:05:44 +08:00
## 文章
- [**Go语言爱好者周刊**](https://github.com/polaris1119/golangweekly)
- [Go的50度灰Golang新开发者要注意的陷阱和常见错误](https://colobu.com/2015/09/07/gotchas-and-common-mistakes-in-go-golang/)
- [Go 程序的性能优化及 pprof 的使用](http://www.cnblogs.com/snowInPluto/p/7403097.html)
- [gops - Go语言程序查看和诊断工具](https://www.cnblogs.com/snowInPluto/p/7785651.html)
- [Go源码分析——http.ListenAndServe()是如何工作的](https://blog.csdn.net/gophers/article/details/37815009)
- [GoConvey 框架使用指南](https://www.jianshu.com/p/e3b2b1194830)
- [GoStub 框架使用指南](https://www.jianshu.com/p/70a93a9ed186)
- [GoMock 框架使用指南](https://www.jianshu.com/p/f4e773a1b11f)
- [Monkey 框架使用指南](https://www.jianshu.com/p/2f675d5e334e)
## 付费教程
- [基于 Go 语言构建企业级的 RESTful API 服务](https://juejin.im/book/5b0778756fb9a07aa632301e) - 掘金小册
- [Go语言核心36讲](https://time.geekbang.org/column/112) - 极客时间
## 成品项目
- [studygolang](https://github.com/studygolang/studygolang) - Go 语言中文网
- [Hugo](https://github.com/gohugoio/hugo) - 静态网站生成器
- [喧喧](https://github.com/easysoft/xuanxuan) - 由`然之协同`提供的面向企业即时通信解决方案
- [mkcert](https://github.com/FiloSottile/mkcert) - 生成本地 HTTPS 加密证书的工具
- [Rainbond](https://github.com/goodrain/rainbond) - 基于Docker、Kubernetes等容器技术的开源PaaS
- [**NYADB2**](https://github.com/qw4990/NYADB2) - Go 实现的关系型数据库, 值得用于学习
- [EiBlog](https://github.com/eiblog/eiblog) - `国产` 博客
- [pan-light](https://github.com/peterq/pan-light) - 不限速的百度网盘客户端, 基于 Go + Qt5 开发
## 学习项目
- [1m-go-websockets](https://github.com/eranyanay/1m-go-websockets) - 该项目演示了如何用 Go 编写一个可以提供超过一百万个 `websockets` 连接、运行内存小于 1GB 的服务器
- [Go by Example](https://github.com/mmcgrana/gobyexample) - 通过实例学习 Go
## 开源类库
### 框架
- [Macaron](https://github.com/go-macaron/macaron) - 一款具有高生产力和模块化设计的 Go Web 框架 `国产`
- [Beego](https://github.com/astaxie/beego) - 一个使用 Go 的思维来帮助您构建并开发 Go 应用程序的开源框架 `国产`
- [Gin](https://github.com/gin-gonic/gin) - 轻量 Web 框架
- [Iris](https://github.com/kataras/iris) - Web 开发框架
- [Revel](https://github.com/revel/revel)
- [echo](https://github.com/labstack/echo)
- [chi](https://github.com/go-chi/chi)
- [Faygo](https://github.com/henrylee2cn/faygo) - `国产`
- [Teleport](https://github.com/henrylee2cn/teleport) - Socket 框架
- [GoFrame](https://github.com/gogf/gf) - `国产`
- [QOR](https://github.com/qor/qor) - 系列应用开发组件包
- [Buffalo](https://github.com/gobuffalo/buffalo)
- [DotWeb](https://github.com/devfeel/dotweb) - `国产`
- [REST Layer](https://github.com/rs/rest-layer) - REST API framework
- [Honeytrap](https://github.com/honeytrap/honeytrap)
- [Ponzu](https://github.com/ponzu-cms/ponzu)
- [utron](https://github.com/gernest/utron)
- [muxie](https://github.com/kataras/muxie)
- [go-admin](https://github.com/chenhg5/go-admin) - 与 [laravel-admin](https://github.com/z-song/laravel-admin) 类似的后台管理快速开发框架
### 中间件
- [Negroni](https://github.com/urfave/negroni) - Web 中间件
- [csrf](https://github.com/gorilla/csrf) - CSRF 中间件
- [handlers](https://github.com/gorilla/handlers) - A collection of useful handlers for Go's `net/http` package
### 并发
- [SizedWaitGroup](https://github.com/remeh/sizedwaitgroup) - 并发控制
- [concurrent](https://github.com/modern-go/concurrent) - concurrency utilities
### 命令行
- [urfave/cli](https://github.com/urfave/cli) - 命令行程序构建工具
- [**Cobra**](https://github.com/spf13/cobra) - 命令行构建包
2019-10-29 16:05:44 +08:00
- [GoTTY](https://github.com/yudai/gotty) - 基于Web的命令行实时共享
- [progressbar](https://github.com/schollz/progressbar) - 在终端上输出进度条
- [Color](https://github.com/fatih/color) - 命令行文字颜色
- [termui](https://github.com/gizak/termui) - 终端仪表盘
- [gosu](https://github.com/tianon/gosu) - 以指定的用户权限来运行脚本
- [tui](https://github.com/marcusolsson/tui-go) - 终端 UI
- [gotop](https://github.com/cjbassi/gotop) - 类 top 系统监控显示
- [go-colorable](https://github.com/mattn/go-colorable) - Colorable writer for Windows
- [go-isatty](https://github.com/mattn/go-isatty) - TTY 环境判断
- [fzf](https://github.com/junegunn/fzf) - 命令行下的文件 Finder
- [flaggy](https://github.com/integrii/flaggy) - 命令参数解析
- [go-daemon](https://github.com/sevlyar/go-daemon) - daemon 进程包
- [pflag](https://github.com/spf13/pflag) - 命令行参数处理
- [PIXterm](https://github.com/eliukblau/pixterm) - 在命令行终端中绘图
- [WTF](https://github.com/wtfutil/wtf) - 一个命令行的信息仪表盘,可以定制显示内容
- [go-prompt](https://github.com/c-bata/go-prompt) - 命令行交互式输入
2019-10-29 16:05:44 +08:00
### 路由
- [HttpRouter](https://github.com/julienschmidt/httprouter)
- [mux](https://github.com/gorilla/mux) - URL 路由和调度器
- [gocraft/web](https://github.com/gocraft/web)
### 网络
- [**fasthttp**](https://github.com/valyala/fasthttp) - 比 `net/http` 快 10 倍的 HTTP 工具包
- [Resty](https://github.com/go-resty/resty) - HTTP & REST 客户端包
- [DNS](https://github.com/miekg/dns) - DNS 库
- [CoreDNS](https://github.com/coredns/coredns) - DNS 服务器
- [**Caddy**](https://github.com/mholt/caddy) - Web 服务器
- [RoadRunner](https://github.com/spiral/roadrunner) - PHP 应用服务器、进程管理器、负载均衡,用于替代 `Nginx + FPM`
- [Træfik](https://github.com/containous/traefik) - 反向代理&负载均衡
- [GoReplay](https://github.com/buger/goreplay) - 流量收集&回放
- [Vegeta](https://github.com/tsenart/vegeta) - HTTP 负载压测工具
- [hey](https://github.com/rakyll/hey) - Web 压测工具
- [bombardier](https://github.com/codesenberg/bombardier) - Web 压测工具
- [p2pspider](https://github.com/fanpei91/p2pspider) - 种子嗅探器
- [goim](https://github.com/Terry-Mao/goim) - 支持集群的 im 及实时推送服务
- [Proxy](https://github.com/snail007/goproxy) - golang 实现的高性能代理服务器
- [ProxyPool](https://github.com/henson/ProxyPool) - 采集免费的代理资源为爬虫提供有效的IP代理
- [frp](https://github.com/fatedier/frp) - 可用于内网穿透的高性能的反向代理应用
- [torrent](https://github.com/anacrolix/torrent) - BitTorrent 相关工具库
- [httpteleport](https://github.com/valyala/httpteleport) - Teleports 10Gbps http traffic over 1Gbps networks
- [FIND3](https://github.com/schollz/find3) - WiFi 设备发现
- [SubFinder](https://github.com/subfinder/subfinder) - 子域名发现工具
- [ggz](https://github.com/go-ggz/ggz) - 短网址服务
- [httpstat](https://github.com/davecheney/httpstat)
### WebSocket
- [Gorilla WebSocket](https://github.com/gorilla/websocket)
- [websocketd](https://github.com/joewalnes/websocketd) - Go 开发的一键搭建 WebSocket 服务器命令行工具
- [ws](https://github.com/gobwas/ws) - WebSocket 开发包
- [melody](https://github.com/olahol/melody) - WebSocket 服务框架
### 网关
- [GoKu API Gateway CE](https://github.com/eolinker/GoKu-API-Gateway) - eoLinker 开源的 API 网关
### 序列化
- [vmihailenco/msgpack](https://github.com/vmihailenco/msgpack) - 支持 msgpack
- [go/codec](https://github.com/ugorji/go) - 支持 msgpack/binc/cbor/json
- [protobuf](https://github.com/golang/protobuf) - Go 版本的 Protocol Buffers
- [Objx](https://github.com/stretchr/objx) - 操作 map, slice, JSON 等数据的包
### RPC
- [gRPC-Go](https://github.com/grpc/grpc-go) - gRPC 官方包
- [gorpc](https://github.com/valyala/gorpc)
- [gorilla/rpc](https://github.com/gorilla/rpc) - 构建基于 HTTP 的 RPC 服务,比如 JSON-RPC
- [Lile](https://github.com/lileio/lile) - gRPC 服务构建包
- [rpcx](https://github.com/smallnest/rpcx)
- [Twirp](https://github.com/twitchtv/twirp)
### 邮件
- [Gomail](https://github.com/go-gomail/gomail) - 邮件发送包
- [scorredoira/email](https://github.com/scorredoira/email)
### 消息
- [Tinode](https://github.com/tinode/chat) - 即时消息服务器,通过 websocket/JSON 或 gRPC/TCP 等协议传输
- [NSQ](https://github.com/nsqio/nsq) - 分布式消息平台
### 文件
- [Syncthing](https://github.com/syncthing/syncthing) - 文件同步
- [fsnotify](https://github.com/fsnotify/fsnotify) - 文件系统监控工具
- [gohttpserver](https://github.com/codeskyblue/gohttpserver) - HTTP 静态文件服务器
- [XLSX](https://github.com/tealeg/xlsx) - Excel 读写包
- [Excelize](https://github.com/360EntSecGroup-Skylar/excelize) - 360 开源的 Excel 工具包
- [SeaweedFS](https://github.com/chrislusf/seaweedfs) - 分布式文件系统
- [go-fastdfs](https://github.com/sjqzhang/go-fastdfs) - 分布式文件存储服务
- [Dragonfly](https://github.com/dragonflyoss/Dragonfly) - 基于 P2P 的分布式文件系统
- [filetype](https://github.com/h2non/filetype) - 检测文件类型
- [cae](https://github.com/Unknwon/cae) - 实现 ZIP/TAR.GZ 解压缩
- [compress](https://github.com/klauspost/compress) - Optimized compression packages
- [Afero](https://github.com/spf13/afero) - 文件操作包
- [fsync](https://github.com/spf13/fsync) - 文件/目录同步
- [filebrowser](https://github.com/filebrowser/filebrowser) - Web File Browser
- [Bigfile](https://github.com/bigfile/bigfile) - 文件传输管理系统
- [statik](https://github.com/rakyll/statik) - 静态文件服务
2019-10-29 16:05:44 +08:00
### 模板引擎
- [goTemplateBenchmark](https://github.com/SlinSo/goTemplateBenchmark) - 给各 Go 模板引擎做性能测试,当然也就包含了最全的模板引擎包
- [Jet](https://github.com/CloudyKit/jet) - 速度很快
- [amber](https://github.com/eknkc/amber) - HTML 模板引擎
- [fasttemplate](https://github.com/valyala/fasttemplate) - Simple and fast template engine for Go
- [quicktemplate](https://github.com/valyala/quicktemplate)
- [mustache](https://github.com/hoisie/mustache)
- [Ace](https://github.com/yosssi/ace)
### 文本
- [Blackfriday](https://github.com/russross/blackfriday) - Markdown 解析器
- [gpy](https://github.com/go-ego/gpy) - Go 语言汉字转拼音工具
- [html2text](https://github.com/jaytaylor/html2text) - HTML 转 text
- [go-hashids](https://github.com/speps/go-hashids) - hashids 的 Go 版本
- [go-pinyin](https://github.com/mozillazg/go-pinyin) - 汉语拼音转换工具 Go 版
- [mahonia](https://github.com/axgle/mahonia) - 字符集编码转换
- [pangu.go](https://github.com/vinta/pangu) - Go 版本的 pangu给中英文之间加空格
- [goorgeous](https://github.com/chaseadamsio/goorgeous) - A Go ORG syntax parser to HTML
- [go-diff](https://github.com/sergi/go-diff) - Go 版本的 diff 工具包
- [Chroma](https://github.com/alecthomas/chroma) - 代码语法高亮
- [Emoji](https://github.com/kyokomi/emoji)
- [prose](https://github.com/jdkato/prose) - natural language processing library
- [minify](https://github.com/tdewolff/minify) - Web 静态资源压缩(HTML/JS/CSS/JSON)
- [Lute](https://github.com/b3log/lute) - 结构化的 Markdown 引擎
- [docx2md](https://github.com/mattn/docx2md) 转换 Word 为 Markdown
- [Inflection](github.com/jinzhu/inflection) - Pluralizes and singularizes English nouns
2019-10-29 16:05:44 +08:00
### 文档
- [swag](https://github.com/swaggo/swag) - Swagger for Go
- [gin-swagger](https://github.com/swaggo/gin-swagger) - Swagger for Gin
- [go-swagger](https://github.com/go-swagger/go-swagger) - Swagger 2.0 implementation for go
### 数学计算
- [decimal](https://github.com/shopspring/decimal) - 解决浮点数计算精度问题
- [fixed](https://github.com/robaho/fixed)
### 日期时间
- [now](https://github.com/jinzhu/now)
- [when](https://github.com/olebedev/when) - 自然日期时间解析
### 配置
- [GoDotEnv](https://github.com/joho/godotenv) - `.env` 配置文件解析
- [yaml](https://github.com/go-yaml/yaml)
- [toml](https://github.com/BurntSushi/toml) - `TOML` 解析&编码包
- [INI](https://github.com/go-ini/ini) - `INI` 配置文件解析
- [Viper](https://github.com/spf13/viper) - 支持 `JSON`, `TOML`, `YAML`, `HCL`, `Java` 等配置文件
- [Multiconfig](https://github.com/koding/multiconfig)
- [configor](https://github.com/jinzhu/configor)
- [envconfig](https://github.com/kelseyhightower/envconfig)
- [confd](https://github.com/kelseyhightower/confd) - 配置管理工具
- [HCL](https://github.com/hashicorp/hcl) - configuration language
- [env](https://github.com/caarlos0/env) - 解析 ENV 环境变量到结构体中
2019-10-29 16:05:44 +08:00
### 爬虫
- [Crawlab](https://github.com/crawlab-team/crawlab) - 基于Golang的分布式爬虫管理平台支持Python、NodeJS、Go、Java、PHP等多种编程语言以及多种爬虫框架
- [Colly](https://github.com/gocolly/colly) - 网络爬虫框架
- [Pholcus](https://github.com/henrylee2cn/pholcus) - 支持分布式的高并发、重量级爬虫软件
- [go_spider](https://github.com/hu17889/go_spider)
- [goquery](https://github.com/PuerkitoBio/goquery)
- [Muffet](https://github.com/raviqqe/muffet) - 网站链接检查器
- [Creeper](https://github.com/wspl/creeper)
### 数据库相关
- [GORM](https://github.com/jinzhu/gorm)
+ [gorm2sql](https://github.com/liudanking/gorm2sql) - 根据 Model Struct 生成建表语句
- [Xorm](https://github.com/go-xorm/xorm) - 支持 MySQL、PostgreSQL、SQLite3 以及 MsSQL
- [GoRose](https://github.com/gohouse/gorose)
- [Go-MySQL-Driver](https://github.com/go-sql-driver/mysql)
- [sqlx](https://github.com/jmoiron/sqlx) - `database/sql` 扩展包
- [qb](https://github.com/aacanakin/qb) - the database toolkit for go
- [Redigo](https://github.com/gomodule/redigo) - Redis 客户端
- [go-redis](https://github.com/go-redis/redis)
- [mongo-go-driver](https://github.com/mongodb/mongo-go-driver) - MongoDB 官方出品的 Go 语言驱动
- [mgo](http://labix.org/mgo)
+ [globalsign/mgo](https://github.com/globalsign/mgo) - The MongoDB driver for Go
+ [mgo使用指南](https://studygolang.com/articles/3485)
- [amqp](https://github.com/streadway/amqp) - Go client for AMQP 0.9.1
- [xo](https://github.com/xo/xo) - a command-line tool to generate Go code based on a database schema or a custom query
- [kingshard](https://github.com/flike/kingshard) - MySQL Proxy
- [SOAR](https://github.com/XiaoMi/soar) - 对SQL进行优化和改写的自动化工具
- [gh-ost](https://github.com/github/gh-ost) - GitHub 开源的在线更改 MySQL 表结构的工具
- [go-mssqldb](https://github.com/denisenkom/go-mssqldb) - MSSQL 驱动
- [pq](https://github.com/lib/pq) - PostgreSQL 驱动
- [SQLer](https://github.com/alash3al/sqler) - write APIs using direct SQL queries with no hassle, let's rethink about SQL
- [gocraft/dbr](https://github.com/gocraft/dbr)
- [Gaea](https://github.com/XiaoMi/Gaea) - 小米开源的基于 MySQL 协议的数据库中间件
- [OctoSQL](https://github.com/cube2222/octosql) - 支持多数据库的 SQL 查询工具
- [goose](https://github.com/pressly/goose) - 数据库迁移工具
- [**ent**](https://github.com/facebookincubator/ent) - An Entity Framework For Go
### 数据库引擎
- [etcd](https://github.com/etcd-io/etcd) - KV 分布式存储
- [InfluxDB](https://github.com/influxdata/influxdb)
- [CockroachDB](https://github.com/cockroachdb/cockroach) - SQL database
- [Cayley](https://github.com/cayleygraph/cayley) - 图数据库
- [RadonDB](https://github.com/radondb/radon) - 基于 MySQL 研发的新一代分布式关系型数据库
- [AresDB](https://github.com/uber/aresdb) - Uber 开源的 GPU 驱动的实时分析存储&查询引擎
- [leveldb](https://github.com/syndtr/goleveldb) - LevelDB 的 Go 实现
- [Dgraph](https://github.com/dgraph-io/dgraph) - 分布式图数据库
### 搜索
- [wukong](https://github.com/huichen/wukong) - 全文搜索引擎
- [go-elasticsearch](https://github.com/elastic/go-elasticsearch) - 官方 ES 客户端
- [elastic](https://github.com/olivere/elastic) - Elasticsearch 客户端
- [go-mysql-elasticsearch](https://github.com/siddontang/go-mysql-elasticsearch) - Sync MySQL data into elasticsearch
- [gse](https://github.com/go-ego/gse) - Go 语言分词
- [sego](https://github.com/huichen/sego) - Go 中文分词
- [Riot](https://github.com/go-ego/riot) - 全文搜索引擎
### 表单
- [validator](https://github.com/go-playground/validator)
- [go-tagexpr](https://github.com/bytedance/go-tagexpr) - 字节跳动开源的结构体标签表达式解释器
- [schema](https://github.com/gorilla/schema) - converts structs to and from form values
### Auth
- [Casbin](https://github.com/casbin/casbin) - 权限控制管理
- [pam-ussh](https://github.com/uber/pam-ussh) - Uber's SSH certificate pam module
- [jwt-go](https://github.com/dgrijalva/jwt-go) - JWT for Go
- [sessions](https://github.com/gorilla/sessions) - 后端 SESSION 服务
- [securecookie](https://github.com/gorilla/securecookie) - cookie 加密/解密
- [Goth](https://github.com/markbates/goth) - Multi-Provider Authentication for Go
### 缓存
- [GCache](https://github.com/bluele/gcache)
- [bbolt](https://github.com/etcd-io/bbolt) - key/value store
- [BigCache](https://github.com/allegro/bigcache)
2019-10-29 16:05:44 +08:00
- [go-cache](https://github.com/patrickmn/go-cache) - KV 内存缓存
- [gomemcache](https://github.com/bradfitz/gomemcache) - Memcache 客户端
- [cache2go](https://github.com/muesli/cache2go)
### 图片
- [barcode](https://github.com/boombuler/barcode) - 条形码/二维码生成器
- [picfit](https://github.com/thoas/picfit) - 图片操作、裁剪、管理服务器
- [gmfs](http://git.oschina.net/juapk/gmfs) - 图片操作、裁剪、管理服务器
- [besticon](https://github.com/mat/besticon) - favicon 服务
- [Caire](https://github.com/esimov/caire) - 图片操作库
- [Imaging](https://github.com/disintegration/imaging) - 图片操作库
- [gocaptcha](https://github.com/lifei6671/gocaptcha) - 验证码生成
- [go-is-svg](https://github.com/h2non/go-is-svg) - 校验是否为 SVG 图片
- [identicon](https://github.com/issue9/identicon) - 根据用户的 IP 、邮箱名等任意数据为用户产生漂亮的随机头像
### 图表
- [go-echarts](https://github.com/chenjiandongx/go-echarts) - Echarts 图表库
### 构建编译
- [**Mage**](https://github.com/magefile/mage) - a Make/rake-like build tool using Go
- [**GoReleaser**](https://github.com/goreleaser/goreleaser) - Go 多平台二进制文件打包、并支持发布到 Homebrew 的工具
- [goxc](https://github.com/laher/goxc) - 跨平台编译工具(因 1.5 版本开始已自带交叉编译,故已不再维护)
2019-10-29 16:05:44 +08:00
- [Task](https://github.com/go-task/task) - 类似于 `Make` 的构建工具
- [codegangsta/gin](https://github.com/codegangsta/gin) - 热编译工具,自动监测文件变化而重新编译并重启,方便开发调试 Web 应用
### 优雅升级
- [tableflip](https://github.com/cloudflare/tableflip)
2019-10-29 16:05:44 +08:00
### 代码分析
- [reviewdog](https://github.com/reviewdog/reviewdog) - Code Review 机器人
- [revive](https://github.com/mgechev/revive) - 代码检查分析
- [**GolangCI-Lint**](https://github.com/golangci/golangci-lint) - 代码质量检查分析工具
- [errcheck](https://github.com/kisielk/errcheck) - 检测未处理的错误(errors)
- [Staticcheck](https://github.com/dominikh/go-tools) - 一系列的 Go 代码静态分析工具
- [Golint](https://github.com/golang/lint) - Google 官方出品的代码质量检测工具
- [GoReporter](https://github.com/360EntSecGroup-Skylar/goreporter)
- [go-critic](https://github.com/go-critic/go-critic)
- [gocloc](https://github.com/hhatto/gocloc) - 分语言代码行数统计
2019-10-29 16:05:44 +08:00
### 调试
- [**go-spew**](https://github.com/davecgh/go-spew) - 变量打印工具
- [**Delve**](https://github.com/go-delve/delve) - Debug 工具
- [repr](https://github.com/alecthomas/repr) - 变量打印工具
- [pp](https://github.com/k0kubun/pp) - 彩色变量打印工具
- [gops](https://github.com/google/gops) - 谷歌官方出品的 Go 程序监控调试工具
- [pprof](https://github.com/google/pprof)
- [go-callvis](github.com/TrueFurby/go-callvis) - 可视化Go程序的调用图
- [q](https://github.com/y0ssar1an/q) - 自动打印变量类型并且格式化输出
- [Litter](https://github.com/sanity-io/litter)
### 测试
- [GoConvey](https://github.com/smartystreets/goconvey) - 含Web界面的单元测试框架
- [GoMock](https://github.com/golang/mock) - 谷歌出品的Mock测试框架
- [GoStub](https://github.com/prashantv/gostub)
- [Monkey](https://github.com/bouk/monkey)
- [Ginkgo](https://github.com/onsi/ginkgo) - BBD 测试框架
- [fperf](https://github.com/shafreeck/fperf) - 压测工具
- [gocheck](https://github.com/go-check/check)
- [Testify](https://github.com/stretchr/testify)
- [gotests](https://github.com/cweill/gotests) - Generate Go tests from your source code
- [TestSQL](https://github.com/zhulongcheng/testsql) - 根据 SQL 创建语句生成测试数据
- [httpmock](https://github.com/jarcoal/httpmock) - HTTP Mock
- [Goblin](https://github.com/franela/goblin) - BDD 测试框架
2019-10-29 16:05:44 +08:00
- [Faker](https://github.com/bxcodec/faker) - Struct Data Fake Generator
- [go-tprof](https://github.com/gokultp/go-tprof) - 包测试报告生成工具
### 错误处理
- [errors](https://github.com/pkg/errors)
- [errorx](https://github.com/joomcode/errorx)
### 安全
- [Kunpeng](https://github.com/opensec-cn/kunpeng) - 开源POC检测框架
### 硬件
- [go-hardware](https://github.com/rakyll/go-hardware) - 收集了一堆关于硬件信息的包
- [cpuid](https://github.com/klauspost/cpuid) - CPU 信息
2019-10-29 16:05:44 +08:00
### UUID
- [go.uuid](https://github.com/satori/go.uuid) - UUID 库
- [SEQSVR](https://github.com/qichengzx/seqsvr) - Go + MySQL 实现的分布式 ID 生成服务
- [google/uuid](https://github.com/google/uuid) - Google 开源的 uuid 包
- [gofrs/uuid](https://github.com/gofrs/uuid)
- [snowflake](https://github.com/bwmarrin/snowflake) - Twitter snowflake IDs
### 日志&收集
- [Logrus](https://github.com/sirupsen/logrus) - 日志记录包
- [zerolog](https://github.com/rs/zerolog)
- [zap](https://github.com/uber-go/zap) - Uber 开发的日志记录包
- [Seelog](https://github.com/cihub/seelog)
- [logkit](https://github.com/qiniu/logkit) - 七牛开源的日志收集工具
- [gogstash](https://github.com/tsaikd/gogstash) - 类似于 Logstash 的日志收集器
- [lumberjack](https://github.com/natefinch/lumberjack)
### 监控
- [OpenFalcon](https://github.com/open-falcon/falcon-plus) - 小米开源的监控系统
- [Prometheus](https://github.com/prometheus/prometheus) - 监控系统
- [Grafana](https://github.com/grafana/grafana) - 分析监视平台, 支持 Graphite, Elasticsearch, OpenTSDB, Prometheus, InfluxDB 等数据源
- [TeaWeb](https://github.com/TeaWeb/build) - 一款集静态资源、缓存、代理、统计、监控于一体的可视化智能WebServer
- [Jaeger](https://github.com/jaegertracing/jaeger) - 分布式追踪系统
### 统计分析
- [Fathom](https://github.com/usefathom/fathom) - Web 站点统计
- [Signal](https://github.com/bloom42/signal) - Web 站点统计
### 容器技术
- [Rancher](https://github.com/rancher/rancher) - 全栈化企业级容器管理平台
- [Gorsair](https://github.com/Ullaakut/Gorsair)
- [docui](https://github.com/skanehira/docui) - TUI Client for Docker
### 机器学习
- [goml](https://github.com/cdipaolo/goml) - 机器学习库
- [GoLearn](https://github.com/sjwhitworth/golearn) - 一个 "开箱即用" 的机器学习库
- [glow](https://github.com/chrislusf/glow) - 易用的分布式计算系统
- [Gobot](https://github.com/hybridgroup/gobot) - 机器人和物理计算语言库
- [Olivia](https://github.com/olivia-ai/olivia) - 神经网络
- [Pico](https://github.com/esimov/pigo) - 基于像素强度比较的物体检测纸张的纯 Go 脸部检测库
### 算法
- [GoDS](https://github.com/emirpasic/gods)
- [Dragonboat](https://github.com/lni/dragonboat) - 多组 Raft 共识算法库
- [golang-lru](https://github.com/hashicorp/golang-lru) - LRU 算法实现
### 数据结构
- [go-datastructures](https://github.com/Workiva/go-datastructures)
- [Play-with-Data-Structures](https://github.com/Donng/Play-with-Data-Structures) - 「玩转数据结构」课程的 Go 语言实现版本
- [HashMap](https://github.com/cornelk/hashmap)
- [SipHash](https://github.com/dchest/siphash) - SipHash-2-4
- [Bigslice](https://github.com/grailbio/bigslice)
- [golang-set](https://github.com/deckarep/golang-set) - The missing set collection
2019-10-29 16:05:44 +08:00
### 依赖注入
- [Wire](https://github.com/google/wire)
- [dig](https://github.com/uber-go/dig)
- [Fx](https://github.com/uber-go/fx)
### JSON
- [GJSON](https://github.com/tidwall/gjson) - JSON 解释器
- [SJSON](https://github.com/tidwall/sjson) - JSON 修改工具
- [fastjson](https://github.com/valyala/fastjson) - fast JSON parser and validator for Go
- [jsonparser](https://github.com/buger/jsonparser)
- [ffjson](https://github.com/pquerna/ffjson)
- [json-iterator](https://github.com/json-iterator/go) - 滴滴开源的 JSON 解析器
### 依赖管理
- [**goproxy.io**](https://github.com/goproxyio/goproxy) - `GOPROXY` 代理服务
- [goproxy.cn](https://github.com/goproxy/goproxy.cn) - 更适合国内用户的代理服务
- [Gopm](https://github.com/gpmgo/gopm) - Go 包管理工具
- [govendor](https://github.com/kardianos/govendor) - Vendor 包管理工具
- [gom](https://github.com/mattn/gom) - 包版本管理工具
### 微服务
- [Istio](https://github.com/istio/istio) [[中文文档](https://preliminary.istio.io/zh/docs/)] - 跨语言微服务框架
- [goa](https://github.com/goadesign/goa)
- [Micro](https://github.com/micro/micro) - 微服务工具
- [Go kit](https://github.com/go-kit/kit) - Go 微服务工具集
- [GoKit CLI](https://github.com/kujtimiihoxha/kit) - Go kit 脚手架
- [gogo](https://github.com/dolab/gogo)
- [Go-Chassis](https://github.com/go-chassis/go-chassis)
- [Go Micro](https://github.com/micro/go-micro) - 微服务框架
- [Kite](https://github.com/koding/kite)
### 持续集成/部署
- [CDS](https://github.com/ovh/cds) - 持续集成服务
- [gopub](https://github.com/linclin/gopub)
- [CodePub](https://github.com/bzppx/bzppx-codepub)
- [syncd](https://github.com/dreamans/syncd) - 代码部署工具
- [Drone](https://github.com/drone/drone) - 基于 Docker 的持续发布平台
- [Cyclone](https://github.com/caicloud/cyclone) - 持续集成&发布平台
### Git
- [gogs](https://github.com/gogs/gogs) - 类似于 GitLab 的 Git 服务器
- [Gitea](https://github.com/go-gitea/gitea) - 由 gogs 分叉出的 Git 服务器
- [go-git](https://github.com/src-d/go-git) - Go 实现的 Git 操作
- [gitin](https://github.com/isacikgoz/gitin) - commit/branch/status explorer for git
- [hub](https://github.com/github/hub) - GitHub 命令行工具
- [git-o-matic](https://github.com/muesli/gitomatic) - 一个监控 Git 仓库变化和自动 pull/push 的工具
### 限流器
- [**Tollbooth**](https://github.com/didip/tollbooth) - Simple middleware to rate-limit HTTP requests
- [ratelimit](https://github.com/juju/ratelimit)
- [RateLimit](https://github.com/bsm/ratelimit)
- [go-rate](https://github.com/beefsack/go-rate)
- [Circuit](https://github.com/cep21/circuit) - 熔断器
- [uber-go/ratelimit](https://github.com/uber-go/ratelimit)
2019-10-29 16:05:44 +08:00
### 解释器
- [**participle**](https://github.com/alecthomas/participle) - 通用的自定义语法解析包
- [GopherLua](https://github.com/yuin/gopher-lua) - VM and compiler for Lua in Go
- [go-lua](https://github.com/Shopify/go-lua) - A Lua VM in pure Go
- [php-parser](https://github.com/z7zmey/php-parser) - PHP AST 语法解析
- [otto](https://github.com/robertkrimen/otto) - JavaScript 解释器
- [goja](https://github.com/dop251/goja) - ECMAScript 5.1(+) implementation in Go
- [gpython](https://github.com/go-python/gpython) - Python Interpreter on Go
- [starlark-go](https://github.com/google/starlark-go) - Starlark in Go
- [avo](https://github.com/mmcloughlin/avo) - Generate x86 Assembly with Go
- [wagon](https://github.com/go-interpreter/wagon) - WebAssembly 解释器
- [GopherJS](https://github.com/gopherjs/gopherjs) - 把 Go 代码编译成 JavaScript 代码
- [Yaegi](https://github.com/containous/yaegi) - Go 语言解释器
- [properties](https://github.com/magiconair/properties) - Java properties scanner for Go
- [gobasic](https://github.com/skx/gobasic) - A BASIC interpreter written in golang
2019-10-29 16:05:44 +08:00
#### 自定义解释器
- [Math-Engine](https://github.com/dengsgo/math-engine) - 使用 Go 实现的数学表达式解析计算引擎库,学习语法解析很适用
- [Gval](https://github.com/PaesslerAG/gval) - 表达式计算
- [expression-parsing](https://github.com/vighneshq/expression-parsing)
- [goexp](https://github.com/svstanev/goexp) - Recursive descent expression parser in Go
- [goastch](https://github.com/helloyi/goastch) - Go AST 语法解析
- [tdop](https://github.com/cristiandima/tdop)
- [swallow](https://github.com/hwch/swallow)
- [Anko](https://github.com/mattn/anko)
- [Expr](https://github.com/antonmedv/expr) - 编译&执行字符串中的表达式
- [Tengo](https://github.com/d5/tengo) - 用 Go 编写的脚本语言
- [V](https://github.com/vlang/v) - Go 编写的语言
- [kumarUjjawal/bison](https://github.com/kumarUjjawal/bison)
- [Monkey](https://github.com/skx/monkey)
2019-10-29 16:05:44 +08:00
### 查询语言
- [graphql](https://github.com/graphql-go/graphql) - Go 实现的 GraphQL
- [RQL](https://github.com/a8m/rql) - REST 资源查询语言
- [Thunder](https://github.com/samsarahq/thunder) - GraphQL 服务构建框架
### 游戏相关
- [Nano](https://github.com/lonng/nano) - 游戏开发框架
- [Leaf](https://github.com/name5566/leaf)
- [einx](https://github.com/Cyinx/einx)
### 桌面开发
- [Lorca](https://github.com/zserge/lorca) - 用 Go 编写 HTML5 桌面程序,依赖 Chrome 进行 UI 渲染,但却不把 Chrome 打包到应用中
- [webview](https://github.com/zserge/webview) - 用 Go 构建跨平台的桌面软件
- [walk](https://github.com/lxn/walk) - Windows GUI toolkit
- [go-gtk](https://github.com/mattn/go-gtk) - Go bindings for GTK
- [ui](https://github.com/andlabs/ui) - Platform-native GUI library for Go
- [fyne](https://github.com/fyne-io/fyne) - Cross platform GUI in Go based on Material Design
- [go-gl](https://github.com/go-gl/gl) - Go bindings for OpenGL (generated via glow)
- [therecipe/qt](https://github.com/therecipe/qt) - 基于 Qt 的跨全平台 UI 包
### 任务/定时器
- [Grift](https://github.com/markbates/grift) - Go based task runner
### 微信
- [weapp](https://github.com/medivhzhan/weapp) - 微信小程序 SDK
### 未归类
- [Robotgo](https://github.com/go-vgo/robotgo) - Golang 跨平台自动化系统,控制键盘鼠标位图和读取屏幕,窗口句柄以及全局事件监听
- [cron](https://github.com/robfig/cron) - a cron library for go
- [goCron](https://github.com/jasonlvhit/gocron) - A Golang Job Scheduling Package
- [com](https://github.com/Unknwon/com) - 工具包
- [php2go](https://github.com/syyongx/php2go) - Go 实现的 140+ 个 PHP 函数功能包
- [gommon](https://github.com/labstack/gommon) - Common packages for Go
- [**Go Report Card**](https://github.com/gojp/goreportcard) - Go 项目质量分析报告工具
- [i18n](https://github.com/Unknwon/i18n) - `i18n` 多语言工具包
- [Paginater](https://github.com/Unknwon/paginater) - 分页工具
- [gls](https://github.com/jtolds/gls) - Goroutine local storage
- [go-version](https://github.com/mcuadros/go-version) - 版本号比较
- [reflect2](https://github.com/modern-go/reflect2) - reflect api without runtime reflect.Value cost
- [mapstructure](https://github.com/mitchellh/mapstructure) - Go library for decoding generic map values into native Go structures
- [copier](https://github.com/jinzhu/copier) - struct 之间拷贝值
- [Cast](https://github.com/spf13/cast) - 数据类型转换
- [Metabolize](https://github.com/keighl/metabolize) - Decodes HTML meta tags into a Golang struct
- [otp](https://github.com/pquerna/otp) - 一次性密码工具包(One Time Password utilities)
- [feeds](https://github.com/gorilla/feeds) - RSS 内容生成
- [gofeed](https://github.com/mmcdole/gofeed) - RSS & Atom feeds 内容解析
- [wechat-go](https://github.com/songtianyi/wechat-go) - 微信 Web 版 API 的 Go 实现
- [misspell](https://github.com/client9/misspell) - 常拼写错误的英语单词
- [Standard Go Project Layout](https://github.com/golang-standards/project-layout) - Go 项目目录结构示例
- [CRDT](https://github.com/neurodrone/crdt) - CRDT(Convergent and Commutative Replicated Data Types)最终一致性算法的实现
- [script](https://github.com/bitfield/script) - Making it easy to write shell-like scripts in Go
- [sysadmin-utils](https://github.com/skx/sysadmin-util)
2019-10-29 16:05:44 +08:00
## 工具
- [goenv](https://github.com/syndbg/goenv) - Go 版本管理
- [GoLand](https://www.jetbrains.com/go/) - IDE 软件
- [~~IntelliJ系列软件Go语言插件~~](https://github.com/go-lang-plugin-org/go-lang-idea-plugin)
## 资源站点
- [Go 语言中文网](http://studygolang.com)
- [Golang 中国](https://www.golangtc.com)
- [go-zh](https://go-zh.org)
- [Golang sizeof tips](http://golang-sizeof.tips) - 输入结构体定义,会显示内存布局