一. 开发工具
1)sql2go 用于将 sql 语句转换为 golang 的 struct. 使用 ddl 语句即可。 例如对于创建表的语句: show create table xxx. 将输出的语句,直接粘贴进去就行。 stming.cn/tool/sql2go…
2)toml2go 用于将编码后的 toml 文本转换问 golang 的 struct.
3)curl2go 用来将 curl 命令转化为具体的 golang 代码. mholt.github.io/curl-to-go/
4)json2go 用于将 json 文本转换为 struct. mholt.github.io/json-to-go/
5)mysql 转 ES 工具 www.ischoolbar.com/EsParser/
6)golang 模拟模板的工具,在支持泛型之前,可以考虑使用。 github.com/cheekybits/…
7)查看某一个库的依赖情况,类似于 go list 功能 github.com/KyleBanks/d…
8)一个好用的文件压缩和解压工具,集成了 zip,tar 等多种功能,主要还有跨平台。 github.com/mholt/archi…
9)go 内置命令 go list 可以查看某一个包的依赖关系. go vet 可以检查代码不符合 golang 规范的地方。
10)热编译工具 github.com/silenceper/…
11)revive golang 代码质量检测工具 github.com/mgechev/rev…
12)Go Callvis golang 的代码调用链图工具 github.com/TrueFurby/g…
13)Realize 开发流程改进工具 github.com/oxequa/real…
14)Gotests 自动生成测试用例工具 github.com/cweill/gote…
二.调试工具
1)perf 代理工具,支持内存,cpu,堆栈查看,并支持火焰图. perf 工具和 go-torch 工具,快捷定位程序问题. github.com/uber-archiv… github.com/google/gops
2)dlv 远程调试 基于 goland+dlv 可以实现远程调式的能力. github.com/go-delve/de… 提供了对 golang 原生的支持,相比 gdb 调试,简单太多。
3)网络代理工具 goproxy 代理,支持多种协议,支持 ssh 穿透和 kcp 协议. github.com/snail007/go…
4)抓包工具 go-sniffer 工具,可扩展的抓包工具,可以开发自定义协议的工具包. 现在只支持了 http,mysql,redis,mongodb. 基于这个工具,我们开发了 qapp 协议的抓包。 github.com/40t/go-snif…
5)反向代理工具,快捷开放内网端口供外部使用。 ngrok 可以让内网服务外部调用 ngrok.com/ github.com/inconshreve…
6)配置化生成证书 从根证书,到业务侧证书一键生成. github.com/cloudflare/…
7)免费的证书获取工具 基于 acme 协议,从 letsencrypt 生成免费的证书,有效期 1 年,可自动续期。 github.com/Neilpang/ac…
8)开发环境管理工具,单机搭建可移植工具的利器。支持多种虚拟机后端。 vagrant常被拿来同 docker 相比,值得拥有。 github.com/hashicorp/v…
9)轻量级容器调度工具 nomad 可以非常方便的管理容器和传统应用,相比 k8s 来说,简单不要太多. github.com/hashicorp/n…
10)敏感信息和密钥管理工具 github.com/hashicorp/v…
11)高度可配置化的 http 转发工具,基于 etcd 配置。 github.com/gojek/weave…
12)进程监控工具 supervisor www.jianshu.com/p/39b476e80…
13)基于procFile进程管理工具. 相比 supervisor 更加简单。 github.com/ddollar/for…
14)基于 http,https,websocket 的调试代理工具,配置功能丰富。在线教育的 nohost web 调试工具,基于此开发. github.com/avwo/whistl…
15)分布式调度工具 github.com/shunfei/cro… github.com/ouqiang/goc…
16)自动化运维平台 Gaia github.com/gaia-pipeli…
三. 网络工具
四. 常用网站
go 百科全书: awesome-go.com/
json 解析: www.json.cn/
出口 IP: ipinfo.io/
redis 命令: doc.redisfans.com/
ES 命令首页:
UrlEncode: tool.chinaz.com/Tools/urlen…
Base64: tool.oschina.net/encrypt?typ…
Guid: www.guidgen.com/
常用工具: www.ofmonkey.com/
五. golang 常用库
日志 github.com/Sirupsen/lo… github.com/uber-go/zap
配置 兼容 json,toml,yaml,hcl 等格式的日志库. github.com/spf13/viper
存储 mysql: github.com/go-xorm/xor… es: github.com/elastic/ela… redis: github.com/gomodule/re… mongo: github.com/mongodb/mon… kafka: github.com/Shopify/sar…
框架 github.com/grpc/grpc-g… github.com/gin-gonic/g…
并发 github.com/Jeffail/tun… github.com/benmanns/go… 现在我们框架在用的,虽然 star 不多,但是确实好用,当然还可以更好用. github.com/rafaeldias/…
工具 定义了实用的判定类,以及针对结构体的校验逻辑,避免业务侧写复杂的代码. github.com/asaskevich/… github.com/bytedance/g…
protobuf 文件动态解析的接口,可以实现反射相关的能力。 github.com/jhump/proto…
表达式引擎工具 github.com/Knetic/gova… github.com/google/cel-…
字符串处理 github.com/huandu/xstr…
ratelimit 工具 github.com/uber-go/rat… blog.csdn.net/chenchongg/… github.com/juju/rateli…
golang 熔断的库 熔断除了考虑频率限制,还要考虑 qps,出错率等其他东西. github.com/afex/hystri… github.com/sony/gobrea…
tail 工具库 github.com/hpcloud/tag…
本文由mdnice多平台发布