Go 语言优秀资源整理,为项目落地加速 [2021.8.27更新] - 格物
文章推薦指數: 80 %
Awesome
格物
首页
归档
标签
分享
友链
关于
文章目录
指导原则
Awesome
大牛
文档
指南
文章
付费教程
成品项目
静态网站生成器
学习项目
开源类库
Web框架
业务框架
项目骨架
DDD框架
TCP框架
中间件
并发
命令行
终端工具
路由
网络
HTTP压测
HTTP
WebSocket
即时通信
网关
序列化
解压缩
RPC
邮件
消息队列
文件/存储
模板引擎
代码生成
文本处理
文档
数学计算
日期时间
配置
爬虫
数据库
缓存
搜索
表单
Auth
加密/解密
视频
图形处理
图表
构建编译
优雅升级
代码分析
调试
测试
错误处理
安全
系统信息
UUID
日志
监控
统计分析
容器技术
集群管理
机器学习
算法
数据结构
依赖注入
JSON
依赖管理
微服务
Serverless
devops
持续集成/部署
Git
限流器
编译器
解释器
代码生成
编辑器
运行器
查询语言
游戏相关
桌面开发
移动端
协程管理
任务/定时器
流处理
微信
SDK
区块链
开发辅助包
代码生成
系统开发
未归类
logo
工具
资源站点
Go语言优秀资源整理,为项目落地加速🏃
在GitHub上稳定更新,觉得不错请点个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
Wiki:https://github.com/golang/go/wiki
官方博客:https://blog.golang.org
指导原则
简单性
复杂性把可读的程序变得不可读,复杂性终结了很多软件项目。
可读性
代码是给人看的,代码阅读时长远超编写。
程序必须可维护,那可读是第一步。
生产率
拥有众多的工具集和基础库,可以很简单方便的完成绝大多数工作。
编译速度足够快,拥有动态语言的高效,但却不会面临动态语言不可靠的问题。
自带编程规范,使得团队代码一致,也帮助开发者发现和避免潜在的错误。
Awesome
GitHubTopicforGo
AwesomeGo
golang-open-source-projects-含描述的中文版AwesomeGo
AwesomeGoStorage-Go存储相关开源项目
awesome-go-China-专门收集华人写的开源项目
GoPatterns-Go版本的设计模式
sevenelevenlee/go-patterns-设计模式
GoF设计模式
greyireland/algorithm-pattern-算法模板
go-algorithms-Go版本的数据结构和算法
Go学习之路-Go学习资料汇集
Go开发者路线图
ReposHub-Go
VisuAlgo-数据结构和算法动态可视化
大牛
Go语言方面的大牛,或者优秀Go项目的组织
mattn-写了数百个Go项目,盛产优质项目
Unknwon-gogs/macaron等项目作者,《TheWaytoGo》译者
Jinzhu-gorm/QOR等作者
valyala-fasthttp/fastjson等作者
vmihailenco-go-redis/go-pg等作者
kataras-iris作者
bep
spf13
Uber-OpenSourceSoftwareatUber
Gorillawebtoolkit
Stretchr-Tameyourunstructureddata
Containous
lestrrat-go
HashiCorp
juju
tidwall
文档
ProposingChangestoGo-Go语言设计文档
Go语言设计与实现
Go语言原本
Go101(中文版)
Go官方入门指南
Go语言高级编程
Go专家编程
Go编程语言
Golang标准库文档(官方/中文)
Go语言标准库在线阅读
《TheWaytoGo》中文版
Go语言圣经(中文版)
Go语言入门教程
Go实战开发
GoWeb应用开发
Go学习技能树
实效Go编程
Go语言语法详解笔记
Go语言学习资料与社区索引
Godatabase/sqltutorial
GO命令教程
深入解析Go
Go语言博客实践
学习Go语言
Go2编程指南
Godatabase/sqltutorial-Go数据库(database/sql)开发使用教程
GoWebExamples-GoWeb开发示例
GoAssembly-通过示例介绍Go汇编功能
UltimateGo-终极Go学习指南,包含大量文档化的代码和程序分析
Go教程-腾讯云开发者手册
Golang开发笔记
golang-notes-Go源码阅读笔记
TheLittleGoBook(中文版)
LearningGo — fromzerotohero
go-internals-深入理解Go
LearnGowithTests
Go基础教程
7天用Go从零实现系列
Go语言高性能编程
Golang-100天从新手到大师-某培训机构的部分教程内容
hoanhan101/algo-107+编码面试问题,包括详细的解决方案,测试用例和程序分析
over-golang-Go学习笔记
over-algorithm-Go算法笔记
learngo-1000+Go示例、练习和测试
go-leetcode-LeetCode实现
玩转GO-《MasteringGO》中文译本
leetcode-cookbook-LeetCodeinGo
Golang修养之路
Go语法树入门
GoConcurrencyPatterns-Go并发模式场景集合
yezihack/algo-数据结构与算法
指南
UberGoStyleGuide
TheGoProgrammingLanguageSpecification(中文老版)
实效Go编程
GoCodeReviewComments
GoCodeConvention
GoFAQ101
GoDetails101
GoTips101
GoQuizzes101
go-advices
go-perfbook-编写和优化Go代码
PracticalGo:RealworldadviceforwritingmaintainableGoprograms(Go语言实践:编写可维护的程序的建议)
文章
GoTraining-大量优质Go相关文章、视频等资料
Go语言爱好者周刊
Go夜读-Go标准包、开源项目源代码阅读讲解
Go-Questions-Go语言学习入门和进阶知识
Go的50度灰:Golang新开发者要注意的陷阱和常见错误
Go程序的性能优化及pprof的使用
gops-Go语言程序查看和诊断工具
Go源码分析——http.ListenAndServe()是如何工作的
GoConvey框架使用指南
GoStub框架使用指南
GoMock框架使用指南
Monkey框架使用指南
TheEvolutionofaGoProgrammer-Go程序员的进化之路
付费教程
基于Go语言构建企业级的RESTfulAPI服务-掘金小册
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-网页快照备份
静态网站生成器
Hugo
jrnl
plenti
verless
ink
moul-生成照片站点
学习项目
1m-go-websockets-该项目演示了如何用Go编写一个可以提供超过一百万个websockets连接、运行内存小于1GB的服务器
GobyExample-通过实例学习Go
IAM-身份识别与访问管理系统(教学项目)
开源类库
Web框架
Macaron-一款具有高生产力和模块化设计的GoWeb框架国产
Beego-一个使用Go的思维来帮助您构建并开发Go应用程序的开源框架国产
Gin-轻量Web框架
Iris-Web开发框架
Revel
echo
chi
Faygo-国产
Teleport-Socket框架
GoFrame-国产
QOR-系列应用开发组件包
Buffalo
DotWeb-国产
RESTLayer-RESTAPIframework
Honeytrap
Ponzu
utron
muxie
Buffalo-快速生成Web项目的开发工具
go-web-framework-benchmark
fiber-一种Express风格的、基于fasthttp的HTTPWeb框架
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框架
项目骨架
StandardGoProjectLayout-Go项目目录结构示例
go-starter-Adobe的Go工程模板
go-clean-arch
go-rest-api-GoRESTfulAPIStarterKit
CreateGoAppCLI-通过命令行创建前后端项目的开发骨架
clean-gin-基于Gin构建的整洁架构项目骨架
golang-repo-template-一个包含了很多实践的项目模板
DDD框架
WildWorkouts-DDD、整洁架构、CQRS的示例项目
CleanArchitectureinGo-整洁架构示例
freedom-基于六边形架构的框架
esim-基于六边形架构的微服务框架
TCP框架
zinx-TCP并发服务器框架
中间件
Negroni-Web中间件
csrf-CSRF中间件
handlers-AcollectionofusefulhandlersforGo’snet/httppackage
并发
SizedWaitGroup-并发控制
concurrent-concurrencyutilities
命令行
参数解析
urfave/cli-命令行程序构建工具
Cobra-命令行构建包
flaggy-命令参数解析
pflag-命令行参数处理
kong-命令行解析
clop-命令行解析包
go-flags-命令行参数解析
mow.cli
go-arg-基于结构体Tag解析命令行参数
输出展示
progressbar-在终端上输出进度条
cheggaaa/pb-终端进度条
mpb-支持多个进度条
Color-命令行文字颜色
gookit/color-命令行色彩使用库
termui-终端仪表盘
tui-终端UI
termenv-终端应用程序的高级ANSI样式和颜色支持
asciigraph-在终端中绘制ASCII字符的图表
spinner-涵盖70多种符号或进度条的控制器
tablewriter-终端中输出表格内容
PIXterm-在命令行终端中绘图
WTF-一个命令行的信息仪表盘,可以定制显示内容
termdash-基于GoTerminal的仪表板系统
bubbletea-TUI框架
PTerm-支持图表、表格、进度条、树等终端输出展示
LipGloss-终端布局、样式
glow-终端渲染展示Markdown
Slides-终端渲染展示Markdown
tview-TerminalUI
其他
gosu-以指定的用户权限来运行脚本
gotop-类top系统监控显示
go-colorable-ColorablewriterforWindows
go-isatty-TTY环境判断
fzf-命令行下的文件Finder
go-daemon-daemon进程包
go-prompt-命令行交互式输入
peco-交互式过滤工具
pty-PTYforGo
vtclean-从终端输出字符串中解析出纯文本
Survey-交互式输入
终端工具
vgrep-支持滚动分页的grep
GoTTY-基于Web的命令行实时共享
Jump-根据习惯快速跳转目录
GoFish-一个受Homebrew启发的跨平台软件管理工具,支持Linux和Windows
路由
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-Teleports10Gbpshttptrafficover1Gbpsnetworks
FIND3-WiFi设备发现
SubFinder-子域名发现工具
ggz-短网址服务
httpstat
grab-文件下载
go-getter-可使用URL作为输入的主要形式从各种来源下载文件或目录
go-netty-网络框架
gnet-事件驱动Go网络框架
httplab-Theinteractivewebserver
yamux-Multiplexer
sftp-SFTPsupportforthego.crypto/sshpackage
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服务器
netaddr-网络地址处理
sx-网络扫描命令工具
echoip-IP地址查找服务
EasyTCP-TCPServer框架
GoPacket-网络捕获抓包
网络代理
Caddy-类似Nginx的Web服务器
Traefik-反向代理&负载均衡
Proxy-golang实现的高性能代理服务器
ProxyPool-采集免费的代理资源为爬虫提供有效的IP代理
frp-可用于内网穿透的高性能的反向代理应用
nps-一款轻量级、高性能、功能强大的内网穿透代理服务器
Pomerium-基于身份的反向代理
V2Ray
V2Fly-V2Ray的社区版本
Tailscale-WireGuard解决方案
HTTP压测
Vegeta-HTTP负载压测工具
hey-Web压测工具
bombardier-Web压测工具
go-wrk
plow
HTTP
fasthttp-比net/http快10倍的HTTP工具包
Resty-HTTP&REST客户端包
gout-HTTP客户端
gentleman-HTTP客户端
goz
UserAgent-解析HTTPUserAgent
purell-URL规范工具包
go-autorest-HTTP管道请求方式的客户端
WebSocket
gorilla/websocket
nhooyr/websocket-官方推荐的包
websocketd-Go开发的一键搭建WebSocket服务器命令行工具
ws-WebSocket开发包
melody-WebSocket服务框架
neffos-一个快速且可扩展的WebSocket框架
fastws
即时通信
Centrifugo-实时消息服务器,可以与任何语言编写的应用程序后端结合使用
goim-支持集群的im及实时推送服务
Tinode-即时消息服务器,通过websocket/JSON或gRPC/TCP等协议传输
WebRTC-WebRTC实现
Berty-安全的点对点通讯软件
Keybase-即时通讯工具Keybase全平台客户端
网关
GoKuAPIGatewayCE-eoLinker开源的API网关
Easegress
序列化
vmihailenco/msgpack-支持msgpack
go/codec-支持msgpack/binc/cbor/json
golang/protobuf-Go版本的ProtocolBuffers
gogo/protobuf-golang/protobuf的扩展替代品
Objx-操作map,slice,JSON等数据的包
msgp-MessagePack代码生成器
Buf-protoc替代品
解压缩
snappy-Go语言版本的Snappy
cae-实现ZIP/TAR.GZ解压缩
archiver-多格式支持的解压缩包
compress-Optimizedcompressionpackages
Brotli
RPC
gRPC-Go-gRPC官方包
gorpc
gorilla/rpc-构建基于HTTP的RPC服务,比如JSON-RPC
Lile-gRPC服务构建包
rpcx
Twirp-基于Protobuf的RPC框架,与gRPC类似
lile-gRPC服务生成工具
dubbo-go-DubboGo版本
邮件
gomail-邮件发送包
scorredoira/email
Hermes-Go版本的mailgen引擎,根据配置生成HTML格式的邮件
Go-Guerrilla-SMTP邮件服务器
MailHog-基于Web和API的SMTP测试
Maddy-SMTP邮件服务器
消息队列
NSQ-实时分布式消息平台
NATS-云原生消息中间件
amqp-GoclientforAMQP0.9.1
sarama-Kafka客户端
文件/存储
MinIO-对象存储服务器
rclone-不同云存储之间同步文件
Syncthing-文件同步
fsnotify-文件系统监控工具
reflex-监听文件变更并执行命令
gohttpserver-HTTP静态文件服务器
XLSX-Excel读写包
Excelize-360开源的Excel工具包
gopdf-PDF生成
rsc/pdf-PDFreader
SeaweedFS-分布式文件系统
go-fastdfs-分布式文件存储服务
Dragonfly-基于P2P的分布式文件系统
filetype-检测文件类型
Afero-文件操作包
fsync-文件/目录同步
filebrowser-WebFileBrowser
Bigfile-文件传输管理系统
filetype-文件类型与MIME检测
go-app-paths-跨平台检索目录文件
copy-拷贝文件夹
模板引擎
goTemplateBenchmark-给各Go模板引擎做性能测试,当然也就包含了最全的模板引擎包
Jet-速度很快
amber-HTML模板引擎
fasttemplate-SimpleandfasttemplateengineforGo
quicktemplate
mustache
Ace
Sprig-常用模板方法
pongo2-Django语法风格的模板引擎
代码生成
esc
文本处理
Markdown
Blackfriday-Markdown解析器
Lute-结构化的Markdown引擎
goldmark-Markdown解析器
docx2md-转换Word为Markdown
glamour-命令行下渲染Markdown
go-md2man-转换Markdown为man手册内容
gomarkdown/markdown
html-to-markdown-转换HTML为Markdown
HTML
DOM-HTMLDOM节点操作
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-AGoORGsyntaxparsertoHTML
sergi/go-diff-Go版本的diff工具包
sourcegraph/go-diff-Go版本的diff工具包
Chroma-代码语法高亮
syntaxhighlight-代码高亮
kyokomi/emoji
enescakir/emoji
golang/freetype-Freetypefontrasterizer
prose-naturallanguageprocessinglibrary
minify-Web静态资源压缩(HTML/JS/CSS/JSON)
Inflection-PluralizesandsingularizesEnglishnouns
autocorrect-自动给中英文之间加入合理的空格并纠正专用名词大小写
bleve-moderntextindexing
etree-XML解析&生成
feeds-RSS内容生成
gofeed-RSS&Atomfeeds内容解析
sitemap-sitemap.xml生成
yarr-RSS阅读软件
gogrep-通过语法树搜索Go源码
PipeIt-文本转换,清理和提取工具
regexp2-全功能正则表达式引擎。
如果标准库的regexp满足不了你,可以尝试使用regexp2
html2article-基于文本密度的html2article实现
hostctl-hosts命令行管理工具
go-shellwords-解析命令行中字段
woke-检查文本文件中是否存在歧视词汇
go-password-validator-密码强度校验器
xurls-从文本中提取URL
whatlanggo-自然语言探测
文档
swag-SwaggerforGo
gin-swagger-SwaggerforGin
go-swagger-Swagger2.0implementationforgo
数学计算
decimal-解决浮点数计算精度问题
fixed
apd-decimal包
mathfmt-将LaTeX语法的注释转换为数学公式格式
q-量子计算模拟器
日期时间
now
when-自然日期时间解析
Carbon-Carbon时间处理库的Go语言实现
strftime-时间格式化
dateparse-解析任意未知格式的时间字符串
配置
GoDotEnv-.env配置文件解析
go-yaml/yaml
ghodss/yaml
toml-TOML解析&编码包
INI-INI配置文件解析
Viper-支持JSON,TOML,YAML,HCL,Java等配置文件
fig
Multiconfig
configor
envconfig
confd-配置管理工具
HCL-configurationlanguage
env-解析ENV环境变量到结构体中
configor
koanf
go-toml-TOML
butler-Adobe开源的配置管理系统
envsubst-环境变量替换
爬虫
Crawlab-基于Golang的分布式爬虫管理平台,支持Python、NodeJS、Go、Java、PHP等多种编程语言以及多种爬虫框架
Colly-网络爬虫框架
Pholcus-支持分布式的高并发、重量级爬虫软件
go_spider
goquery
Muffet-网站链接检查器
Creeper
Geziyor-支持JS渲染的快速爬虫框架
Apollo-一个爬虫工具
数据库
SQL解析
pingcap/parser-兼容MySQL的SQL解析
xsqlparser-SQL解析
sqlparser-SQL解析
vitess-sqlparser-SQL解析
dbml-go-DBML解析
分布式事务
go-saga-Saga分布式事务实现
DTM-跨语言的分布式事务管理服务,支持TCC、Saga、XA等
数据库相关
usql-几乎支持全部SQL与NoSQL数据库的命令行工具
GORM-GORMV2
GORMV1
gorm2sql-根据ModelStruct生成建表语句
Xorm
XormPlus-Xorm的定制增强版本
GoRose
sqlx-database/sql扩展包
dbq-数据库操作
gendry-滴滴开源的SQLBuilder
Squirrel-FluentSQLBuilder
qb-thedatabasetoolkitforgo
redigo-Redis客户端
go-redis
mgo
globalsign/mgo-TheMongoDBdriverforGo
mgo使用指南
kingshard-MySQLProxy
SOAR-对SQL进行优化和改写的自动化工具
Vitess-用于部署、扩展和管理大型MySQL实例集群的数据库解决方案
gh-ost-GitHub开源的在线更改MySQL表结构的工具
SQLer-writeAPIsusingdirectSQLquerieswithnohassle,let’srethinkaboutSQL
gocraft/dbr
Gaea-小米开源的基于MySQL协议的数据库中间件
OctoSQL-支持多数据库的SQL查询工具
goose-数据库迁移工具
migrate-数据库迁移工具
dbmate-数据库迁移工具
ent-AnEntityFrameworkForGo
godb-aGoquerybuilderandstructmapper
go-nulltype
go-mysql-MySQL工具集
SQLittle-纯读取SQLite文件
Bifrost-MySQL同步到Redis、ClickHouse等服务的异构中间件
elasticsql-转换SQL成ElasticsearchDSL
数据库驱动
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-服务监控系统&时间序列数据库
tstorage-时间序列数据库
Thanos-支持Prometheus简化部署、高可用、分布式存储
CockroachDB-分布式SQL数据库
Cayley-图数据库
RadonDB-基于MySQL研发的新一代分布式关系型数据库
TiDB-分布式关系型数据库,兼容MySQL协议
AresDB-Uber开源的GPU驱动的实时分析存储&查询引擎
leveldb-LevelDB的Go实现
Dgraph-分布式图数据库
rqlite-基于SQLite的轻量级分布式关系数据库
gaeadb
BadgerDB-KV数据库,支持ACID事务
LBADD-用Go实现的分布式SQL数据库
go-memdb-建立在不可变Radix树上的内存数据库
VectorSQL-应用于IoT和大数据的DBMS数据库,类似于ClickHouse
BuntDB-基于内存的KV数据库,支持磁盘持久化、ACID事务
TinySQL-迷你分布式关系型数据库
Tile38-GEO数据库
Redcon-兼容Redis协议的自定义Redis服务,采用BuntDB和Tile38实现存储
genji-文档内嵌型数据库
Dolt-像Git一样操作数据库
rosedb-简洁、高效的KV数据库,支持多种数据结构
LinDB-分布式时序数据库
mandodb-一个示例项目,作者介绍如何从零开始实现一个小型的时序数据库
缓存
GCache
bbolt-key/valuestore
BigCache
go-cache-KV内存缓存
gomemcache-Memcache客户端
cache2go
ristretto
fastcache
FreeCache
groupcache-分布式缓存
cachego-支持Redis、Bolt等缓存接口
diskv-基于硬盘的KV存储
Pebble-被CockroachDB使用的KV存储
搜索
wukong-全文搜索引擎
go-elasticsearch-官方ES客户端
elastic-Elasticsearch客户端
go-mysql-elasticsearch-SyncMySQLdataintoelasticsearch
gse-Go语言分词
sego-Go中文分词
gojieba-“结巴"中文分词的Go语言版本
Riot-全文搜索引擎
simplefts-超简单的全文搜索引擎实现
Blast-全文搜索
FuzzySearch-文本模糊搜索
表单
validator
ozzo-validation-使用代码指定规则,而非Tag
go-tagexpr-字节跳动开源的结构体标签表达式解释器
schema-convertsstructstoandfromformvalues
Auth
Casbin-权限控制管理
pam-ussh-Uber’sSSHcertificatepammodule
jwt-go-JWTforGo
kataras/jwt-JWT轻量级实现
cristalhq/jwt
sessions-后端SESSION服务
securecookie-cookie加密/解密
Goth-Multi-ProviderAuthenticationforGo
branca-号称比JWT更安全的token解决方案
gin-jwt-Gin框架的JWT中间件
加密/解密
2fa-Two-factorauthenticationonthecommandline
视频
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-智能裁剪图片
gift-图片滤镜
Germanium-给代码生成图片
GoGraphics-2D图片渲染
图片识别
go-face-面部识别
图表
go-echarts-Echarts图表库
gonum/plot-图形绘制
pinhole-3D线框图绘制
globe-地球线框图绘制
ink-Go中的2D图形框架
go-plantuml-基于Go源码生成plantuml图
go-diagrams-通过代码生成图表
构建编译
Mage-aMake/rake-likebuildtoolusingGo
GoReleaser-Go多平台二进制文件打包、并支持发布到Homebrew的工具
goxc-跨平台编译工具(因1.5版本开始已自带交叉编译,故已不再维护)
Task-类似于Make的构建工具
codegangsta/gin-热编译工具
Air-热编译工具
gowatch-热编译工具
Fresh-热编译工具
dh-make-golang-自动构建Debian包
gobinaries-不用安装Go就能编译安装Go编写的程序
NFPM-deb、rpm、apk等打包工具
静态资源内嵌
pkger-将静态文件打包成Go二进制文件
mewn-静态文件嵌入打包到二进制文件
statik-静态文件嵌入
go.rice
优雅升级
tableflip-Web服务升级
selfupdate-二进制文件自动升级
overseer
代码分析
reviewdog-CodeReview机器人
revive-代码检查分析
GolangCI-Lint-代码质量检查分析工具
errcheck-检测未处理的错误(errors)
Staticcheck-一系列的Go代码静态分析工具
Golint-Google官方出品的代码质量检测工具
GoReporter
go-critic
gocloc-分语言代码行数统计
coca-代码统计分析
GoReportCard-Go项目质量分析报告工具
ddsv-go-死锁检测工具
golang/perf-官方性能量化分析工具
GoPlantUML-为Go项目生成PlantUML类图
gosize-分析Go二进制文件大小
shotizam-分析Go二进制文件的大小并输出到SQLite3
goconst-查找可以被常量替换的重复字符串
sploit-帮助二进制分析和开发的库
perf-PerfUtilitiesforGo
fgprof-Go性能分析工具
conprof-协程分析
statsview-实时Go运行时统计数据可视化分析器
codesearch-代码搜索工具
Pyroscope-可视化程序性能监控工具,支持多种语言
gosec-代码安全性检查工具
调试
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-打印变量
go-deadlock-对(RW)Mutex进行注入,并提供死锁检测
mmcloughlin/profile
gcnotifier-当发生GC时通知
测试
GoConvey-含Web界面的单元测试框架
GoMock-谷歌出品的Mock测试框架
GoStub
Monkey
SuperMonkey-让私有方法可测
Ginkgo-BBD测试框架
fperf-压测工具
gocheck
Testify
gotests-根据源码自动生成测试文件
TestSQL-根据SQL创建语句生成测试数据
httpmock-HTTPMock
Goblin-BDD测试框架
bxcodec/faker-StructDataFakeGenerator
gofakeit-随机数据生成器
dmgk/faker
go-tprof-包测试报告生成工具
go-fuzz-randomizedtestingforGo
gofight-TestingAPIHandler
sqlmock-SQL测试
sqlbench-SQL
silk-基于Markdown的接口测试
gock-HTTPmock测试
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
k6-负载测试工具
错误处理
errors
errorx
errwrap-Gotooltowrapandfixerrorswiththenew%wverbdirective
erris-Linterforerrors.Isanderrors.As
eris-旨在通过错误包装,堆栈跟踪和输出格式为你提供对错误处理的更多控制
errlog-使用静态和堆栈跟踪分析来快速确定哪个函数调用导致的错误
juju/errors
go-fault-GitHub官方出品,基于标准库http中间件的故障注入库
merry-支持堆栈、状态码的错误处理
cockroachdb/errors-功能强大、可替代errors和github.com/pkg/errors的错误处理包
go-multierror-支持错误列表
安全
Kunpeng-开源POC检测框架
nmap-安全审计工具nmap开发包
Hetty-用于安全研究的HTTP工具包,具有Web接口和代理日志查看器的拦截HTTP代理
系统信息
go-hardware-收集了一堆关于硬件信息的包
cpuid-CPU信息
gopsutil-ps功能包
go-sysinfo-系统信息
go-locale-跨平台语言检测库
go-ps-系统进程信息
ghw-硬件信息
UUID
go.uuid-UUID库
SEQSVR-Go+MySQL实现的分布式ID生成服务
google/uuid-Google开源的uuid包
gofrs/uuid
snowflake-TwittersnowflakeIDs
sonyflake-Sony版本的Twitter’sSnowflake
日志
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代码快速创建grafanadashboards
TeaWeb-一款集静态资源、缓存、代理、统计、监控于一体的可视化智能WebServer
Jaeger-分布式追踪系统
go-osstat-系统指标统计
grafterm-Metricsdashboardsonterminal
mymon-MySQL运行监控
PingMe-支持多消息平台的服务可用性报警命令工具
统计分析
Fathom-Web站点统计
Signal-Web站点统计
Veneur-分布式实时数据处理管道
gonum-科学计算相关
容器技术
moby-Docker
docker-ce
Rancher-全栈化企业级容器管理平台
Gorsair
docui-TUIClientforDocker
Podman-管理和运行任何符合OCI规范的容器和容器镜像
Skopeo-镜像管理工具
Buildah-构建OCI容器镜像的工具
go-docker-用Go实现Docker核心功能
Packer-轻量级的镜像定义工具
集群管理
Nomad-集群管理器和调度器
OpenShiftOrigin-RedHat开发的容器化软件解决方案
Kubernetes
kubernetes-容器调度管理平台
k0s-最小体积的k8s发行版
sealos-一条命令部署Kubernetes高可用集群
KubeEye-通过配置规则发现Kubernetes上的各种问题
机器学习
goml-机器学习库
GoLearn-一个“开箱即用”的机器学习库
glow-易用的分布式计算系统
Gobot-机器人和物理计算语言库
Olivia-神经网络
Pico-基于像素强度比较的物体检测纸张的纯Go脸部检测库
tfgo-TensorflowinGo
Prophecis-微众银行自研的一站式云原生机器学习平台
AID-机器学习ops平台,发现、部署、优化
SQLFlow-SQL引擎+AI引擎
算法
GoDS-Go实现了多种数据结构
Dragonboat-多组Raft共识算法库
eliben/raft-Raft算法
hashicorp/raft-Raft算法
Graft-Raft算法
golang-lru-LRU算法实现
tinylru
finn-FastRaftframeworkusingtheRedisprotocolforGo
xorfilter
priyankchheda/algorithms-各种算法的Go语言实现
meow-Meowhash
btree-B-Tree
basalt-高性能的分布式的专门空间优化的Bitmap服务,杜绝Bloomfilter和CuckooFilter的误判
go-blurhash-BlurHash,是模糊图片的一种哈希算法
xxhash-xxHash哈希算法实现
go-multihash-各种Hash算法实现
memberlist-基于gossip协议实现的管理集群成员和成员失败检测的开发包
backoff-指数退避算法(ExponentialBackoff)
数据结构
go-datastructures
Play-with-Data-Structures-「玩转数据结构」课程的Go语言实现版本
HashMap
SipHash-SipHash-2-4
Bigslice
golang-set-Themissingsetcollection
rbang-R!tree实现
rtreego-R-tree
tinybtree-B-tree
dataframe-go-用于数据统计和操作的包
go-set-集合工具包
orderedmap-有序字典
依赖注入
Wire
go-autowire-使用注解自动生成wire依赖注入文件
dig
Fx
JSON
GJSON-JSON解释器
SJSON-JSON修改工具
fastjson-fastJSONparserandvalidatorforGo
jsonparser
ffjson
json-iterator-滴滴开源的JSON解析器
gojsonq-JSON/YAML/XML/CSV等数据查询
easyjson
go-jsonc-将带注释的JSON转为无注释的
jin-JSON操作工具包,同时具有标准库和类似tidwall/gjson和tidwall/sjson的功能
hujson-支持注释的JSON解码
pkg/json-JSONDecoder
ColorJSON-终端中打印彩色JSON
jid-JSON数据解析读取工具
jsonc-支持注释与逗号
sonic-字节跳动开源的JSON解析器&修改器
go-json
依赖管理
goproxy.io-GOPROXY代理服务
goproxy.cn-更适合国内用户的代理服务
Gopm-Go包管理工具
govendor-Vendor包管理工具
gom-包版本管理工具
rvflash/goup-检查包版本是否有更新
owenthereal/goup-Go多版本管理
微服务
Istio[中文文档]-大型微服务系统管理工具
goa
Micro-微服务工具
GoMicro-微服务框架
Gokit-Go微服务工具集
GoKitCLI-Gokit脚手架
gogo
go-chassis
Kite
Kratos-B站开源的微服务框架
Temporal-微服务编排平台
Serf-服务编排管理平台
OpenPolicyAgent-通用策略引擎,CNCF孵化项目
gizmo-微服务工具集
MOSN-用于边缘和服务网格的云原生网络数据平面
Erda-为企业提供DevOps、微服务治理、多云管理的PaaS
Serverless
OpenFaaS-ServerlessFunctionsMadeSimple(功能服务化的FaaS框架)
fn-事件驱动的FaaS
riff-基于Kubernetes的FaaS
Nuclio-实时事件与数据的Serverless框架
Flogo-事件驱动的Serverless框架
Dapr-微软开源的云和边缘计算的微服务构件
kubeless
Fission-基于Kubernetes的Serverless
pulumi
Knative
fx
devops
act-本地运行GitHubActions
持续集成/部署
CDS-持续集成服务
gopub
CodePub
syncd-代码部署工具
Drone-基于Docker的持续发布平台
Cyclone-持续集成&发布平台
tbls-用于记录数据库文档的CI友好工具
Git
gogs-类似于GitLab的Git服务器
Gitea-由gogs分叉出的Git服务器
go-git-Go实现的Git操作
gitin-commit/branch/statusexplorerforgit
hub-GitHub命令行工具
git-o-matic-一个监控Git仓库变化和自动pull/push的工具
gitbase-SQL的方式查询Git日志
git-chglog-CHANGELOG管理工具
chglog-CHANGELOG管理工具
lazyhub-GitHub的终端UI客户端
goaction-在Go中编写GitHubAction
bit-Git命令增强版,支持文件和分支名称自动完成、命令和标志建议
go-github-GitHubAPI操作库
askgit-通过SQL访问Git仓库信息
git2graph-根据Git仓库提交记录生成结构图
限流器
Tollbooth-Simplemiddlewaretorate-limitHTTPrequests
ratelimit
RateLimit
go-rate
Circuit-熔断器
uber-go/ratelimit
Sentinel-阿里巴巴开源的面向分布式服务架构的流量控制组件Go语言版本
gohalt-限流
gobreaker-熔断器
编译器
TinyGo-一个适用于微控制器、WebAssembly和命令行工具的Go编译器
minigo-AGocompilerfromscratch
llir/llvm-LLVM编译器
jit-compiler-JIT编译器
GoPlus-七牛云开源面向数据科学的语言,完全兼容Go语言
解释器
语言解释器
participle-通用的自定义语法解析包
GopherLua-VMandcompilerforLuainGo
go-lua-ALuaVMinpureGo
DCLua-GoLuaCompilerandVM
otto-JavaScript解释器
goja-ECMAScript5.1(+)实现
v8go-ExecuteJavaScriptfromGo
gpython-PythonInterpreteronGo
Grumpy-转换Python为Go代码,谷歌开源
starlark-go-StarlarkinGo
avo-x86汇编程序构建器
wagon-WebAssembly解释器
GopherJS-把Go代码编译成JavaScript代码
Yaegi-Go语言解释器
properties-JavapropertiesscannerforGo
jvm.go-JVM
gobasic-ABASICinterpreterwritteningolang
golisp-Lisp解释器
dst-GoDecoratedSyntaxTree
mvdan/sh-Shell解析、格式化、接口
PHP
php-parser-PHPAST语法解析
deuill/go-php-PHPbindingsforGo
goridge-High-performancePHP-to-GolangIPCbridge
RoadRunner-高性能PHP应用服务器,支持负载均衡及进程管理
自定义解释器
CUE-ConfigureUnifyExecute(Validateanddefinetext-basedanddynamicconfiguration)
cel-go-CommonExpressionLanguage(CEL的Go实现)
Math-Engine-使用Go实现的数学表达式解析计算引擎库,学习语法解析很适用
Gval-表达式计算
expression-parsing
goexp-RecursivedescentexpressionparserinGo
goastch-GoAST语法解析
tdop
swallow
Anko
Expr-编译&执行字符串中的表达式
Tengo-用Go编写的脚本语言
V-Go编写的语言
kumarUjjawal/bison
Monkey
govaluate
Compiler-将自定义语法代码编译成X86-64Assembly
elvish-交互式Shell语言
QLBridge-GoSQLRuntimeEngine
YQL-SQLWHERE风格的规则引擎
Flux-InfluxDB数据语言
Spiker-Go编写的简单规则表达式执行器,支持自定义函数和流程控制,适用于业务规则复杂的场景
代码生成
jennifer-Go代码生成
ifacemaker-根据结构体方法生成接口
编辑器
micro-基于终端的编辑器
sourcegraph-代码搜索&导航
运行器
gore-在线运行Go代码
nodebook-在线运行多种语言
查询语言
graphql-Go实现的GraphQL
graphql-go
GQLEngine-基于graphql-go实现
RQL-REST资源查询语言
Thunder-GraphQL服务构建框架
gqlgen-构建GraphQL服务器的包
super-graph-无需编写代码即可在Go项目中构建复杂的GraphQLAPI
游戏相关
Nano-游戏开发框架
Leaf
einx
CloudRetro-游戏云服务框架
桌面开发
GUI
Lorca-用Go编写HTML5桌面程序,依赖Chrome进行UI渲染,但却不把Chrome打包到应用中
webview-用Go构建跨平台的桌面软件
walk-WindowsGUItoolkit
go-gtk-GobindingsforGTK
andlabs/ui-Platform-nativeGUIlibraryforGo
fyne-MaterialDesign风格的GUI
go-gl-GobindingsforOpenGL(generatedviaglow)
therecipe/qt-基于Qt的跨全平台UI包
giu-基于DearImGui的跨平台GUI框架
go-app-一个WebAssembly框架,用于使用Go,HTML和CSS构建GUI应用
wails-使用Go和Web技术创建桌面应用程序
chromedp-纯Go语言实现的驱动浏览器的ChromeDevToolsProtocol,可用于爬虫、反爬虫、测试等场景
Rod-一个为简化自动化和爬虫设计的devtoolsdriver,利用浏览器的devtools可编程接口来操控浏览器
go-astilectron-基于Electron的跨平台开发
Gio-跨平台UI框架,支持移动应用
nucular-基于Gio的实现
GoVCL-跨平台的GUI包
vugu-WebAssemblyUI框架
桌面辅助包
pkg/browser-在浏览器中打开文件、URL
MacDriver-macOS原生API
gon-为macOS签名和公证
桌面应用
xbar-基于Wails.app开发的macOS菜单栏管理
阿里云盘小白羊版-UI由Flutter构建
移动端
golang/mobile-GosupportforMobiledevices
协程管理
ants-goroutine池
tunny
go-workers-安全地并发运行一组worker,通过channel进行输入输出
Machine-受errgroup.Group启发的协程管理
任务/定时器
Grift-Gobasedtaskrunner
cron-acronlibraryforgo
goCron-AGolangJobSchedulingPackage
jobrunner
CurlyQ-后台任务处理库
overtalk/task-任务的管理&执行,支持自定义次数的重发
PPGo_Job-定时任务管理系统
gocelery-Celery的Go语言实现
Machinery-通过分布式消息实现异步任务调度
dkron-分布式任务调度系统
Grit-基于MultiTree实现的任务管理
Asynq-异步分布式任务队列
流处理
benthos
gostream
watermill
go-streams
goflow
Cadence(CadenceWebUI)-Uber开源的分布式工作流引擎,主要用于微服务编排和分布式事务等场景
微信
weapp-微信小程序SDK
wechat-WeChatSDKforGo
wechat-go-微信Web版API的Go实现
SDK
gopay-QQ、微信(WeChat)、支付宝(AliPay)的Go版本SDK
alipay-支付宝SDK
区块链
HyperledgerFabric-基于区块链的超级账本
go-ethereum-以太坊协议的官方Go语言实现
bbgo-用Go编写的加密货币交易框架
btcd-比特币实现
开发辅助包
copier-struct之间拷贝值
cast-数据类型转换
diff-结构体&值比较
go-extend
com-工具包
php2go-Go实现的140+个PHP函数功能包
gommon-CommonpackagesforGo
reflect2-reflectapiwithoutruntimereflect.Valuecost
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-代码重构工具
bytebufferpool-bytebufferspool
bpool-bytebufferspool,支持bytes.Buffers
代码生成
ChimeraCoder/gojson-根据JSON生成结构体
db2struct-根据表结构生成结构体
smallnest/gen-根据表结构生成结构体
sqlc-根据SQL语句生成Go代码
xo-根据表结构或查询语句自动生成Go代码
系统开发
LinuxKit-为容器构建安全、便携、可移植操作系统的工具包
go-systemd-绑定systemd
Lima-Linux-on-Mac(“macOSsubsystemforLinux”,“containerdforMac”)
未归类
go-playground-比官方更好用的GoPlayground
Robotgo-Golang跨平台自动化系统,控制键盘鼠标位图和读取屏幕,窗口句柄以及全局事件监听
go-homedir
i18n-i18n多语言工具包
go-i18n-多语言工具包
Paginater-分页工具
gls-Goroutinelocalstorage
mcuadros/go-version-版本号比较
go-semver-语义版本
semver-另一个语义版本
hashicorp/go-version
Metabolize-DecodesHTMLmetatagsintoaGolangstruct
otp-一次性密码工具包(OneTimePasswordutilities)
misspell-常拼写错误的英语单词
CRDT-CRDT(ConvergentandCommutativeReplicatedDataTypes)最终一致性算法的实现
script-Makingiteasytowriteshell-likescriptsinGo
sysadmin-utils
licenseclassifier-识别文件中的license类型
rose-在HTML中嵌入和运行Go代码
esbuild-JavaScript构建打包工具
clipboard-跨平台的粘贴板实现
Timeliner-搜集整理个人在社交网站上的数据并索引成时间线
hc-HomeKit平台开发框架
address-地址处理库,支持多国语言
webhook-可执行Shell命令的WebHook服务
webhookd-为Shell脚本提供WebHook服务
go-cid-CIDspecGo语言实现
gorush-APP消息通知服务
EventBus-事件总线
logo
Gophers….
工具
syndbg/goenv-Go版本管理
wfarr/goenv-Go版本管理
gvm-Go版本管理
GoLand-IDE软件
VisualStudioCode
资源站点
Go101
Go语言中文网
Golang中国
go-zh
Golangsizeoftips-输入结构体定义,会显示内存布局
GolangPrograms
Golangbot
文章作者
Jioby
发布日期
2019-10-31
上次更新
2021-08-27
许可协议
CCBY-NC-ND4.0(如需转载,请在评论区留言您的博客地址或公众号名称等,留言后可无需等待确认)
原文链接
https://shockerli.net/post/go-awesome/
延伸文章資訊
- 1Awesome Go | LibHunt
Your go-to Go Toolbox. A curated list of awesome Go packages, frameworks and resources. 2582 proj...
- 2Awesome Go list with stars count
1149gonet A Game Server Skeleton in golang.926oak A pure Go game engine752nano Lightweight, facil...
- 3Awesome Go - GitHub Pages
- 4A curated list of awesome Go frameworks, libraries and software
flac - Native Go FLAC encoder/decoder with support for FLAC streams. gaad - Native Go AAC bitstre...
- 5GolangRepo: Awesome Go Repositories
A curated list of awesome Go frameworks, libraries and software.