go程序员日常开发效率神器汇总

作者:腾讯技术工程 时间:2024-02-16 23:04:40 

一. 开发工具

1)sql2go
用于将 sql 语句转换为 golang 的 struct. 使用 ddl 语句即可。
例如对于创建表的语句: show create table xxx. 将输出的语句,直接粘贴进去就行。
http://stming.cn/tool/sql2go.html

2)toml2go
用于将编码后的 toml 文本转换问 golang 的 struct.
https://xuri.me/toml-to-go/

3)curl2go
用来将 curl 命令转化为具体的 golang 代码.
https://mholt.github.io/curl-to-go/

4)json2go
用于将 json 文本转换为 struct.
https://mholt.github.io/json-to-go/

5)mysql 转 ES 工具
http://www.ischoolbar.com/EsParser/

6)golang
模拟模板的工具,在支持泛型之前,可以考虑使用。
https://github.com/cheekybits/genny

7)查看某一个库的依赖情况,类似于 go list 功能
https://github.com/KyleBanks/depth

8)一个好用的文件压缩和解压工具,集成了 zip,tar 等多种功能,主要还有跨平台。
https://github.com/mholt/archiver

9)go 内置命令
go list 可以查看某一个包的依赖关系.
go vet 可以检查代码不符合 golang 规范的地方。

10)热编译工具
https://github.com/silenceper/gowatch

11)revive
golang 代码质量检测工具
https://github.com/mgechev/revive

12)Go Callvis
golang 的代码调用链图工具
https://github.com/TrueFurby/go-callvis

13)Realize
开发流程改进工具
https://github.com/oxequa/realize

14)Gotests
自动生成测试用例工具
https://github.com/cweill/gotests

二.调试工具

1)perf
代理工具,支持内存,cpu,堆栈查看,并支持火焰图.
perf 工具和 go-torch 工具,快捷定位程序问题.
https://github.com/uber-archive/go-torchhttps://github.com/google/gops

2)dlv 远程调试
基于 goland+dlv 可以实现远程调式的能力.
https://github.com/go-delve/delve提供了对 golang 原生的支持,相比 gdb 调试,简单太多。

3) * 工具
goproxy 代理,支持多种协议,支持 ssh 穿透和 kcp 协议.
https://github.com/snail007/goproxy

4)抓包工具
go-sniffer 工具,可扩展的抓包工具,可以开发自定义协议的工具包. 现在只支持了 http,mysql,redis,mongodb.
基于这个工具,我们开发了 qapp 协议的抓包。
https://github.com/40t/go-sniffer

5)反向代理工具,快捷开放内网端口供外部使用。
ngrok 可以让内网服务外部调用
https://ngrok.com/https://github.com/inconshreveable/ngrok

6)配置化生成证书
从根证书,到业务侧证书一键生成.
https://github.com/cloudflare/cfssl

7)免费的证书获取工具
基于 acme 协议,从 letsencrypt 生成免费的证书,有效期 1 年,可自动续期。
https://github.com/Neilpang/acme.sh

8)开发环境管理工具,单机搭建可移植工具的利器。支持多种虚拟机后端。
vagrant常被拿来同 docker 相比,值得拥有。
https://github.com/hashicorp/vagrant

9)轻量级容器调度工具
nomad 可以非常方便的管理容器和传统应用,相比 k8s 来说,简单不要太多.
https://github.com/hashicorp/nomad

10)敏感信息和密钥管理工具
https://github.com/hashicorp/vault

11)高度可配置化的 http 转发工具,基于 etcd 配置。
https://github.com/gojek/weaver

12)进程监控工具 supervisor
https://www.jianshu.com/p/39b476e808d8

13)基于procFile进程管理工具. 相比 supervisor 更加简单。
https://github.com/ddollar/foreman

14)基于 http,https,websocket 的调试代理工具,配置功能丰富。在线教育的 nohost web 调试工具,基于此开发.
https://github.com/avwo/whistle

15)分布式调度工具
https://github.com/shunfei/cronsun/blob/master/README_ZH.mdhttps://github.com/ouqiang/gocron

16)自动化运维平台 Gaia
https://github.com/gaia-pipeline/gaia

三. 常用网站

go 百科全书: https://awesome-go.com/
json 解析: http://tools.jb51.net/code/jsonformat
出口 IP: https://ipinfo.io/
redis 命令: http://doc.redisfans.com/
ES 命令首页: https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
UrlEncode: http://tools.jb51.net/transcoding/urlencode_decode
Base64: http://tools.jb51.net/transcoding/base64
Guid: https://www.guidgen.com/
常用工具: http://tools.jb51.net/

四. golang 常用库

日志
https://github.com/Sirupsen/logrushttps://github.com/uber-go/zap

配置
兼容 json,toml,yaml,hcl 等格式的日志库.
https://github.com/spf13/viper

存储
mysql https://github.com/go-xorm/xormes https://github.com/elastic/elasticsearchredis https://github.com/gomodule/redigomongo https://github.com/mongodb/mongo-go-driverkafka https://github.com/Shopify/sarama

数据结构
https://github.com/emirpasic/gods

命令行
https://github.com/spf13/cobra

框架
https://github.com/grpc/grpc-gohttps://github.com/gin-gonic/gin

并发
https://github.com/Jeffail/tunnyhttps://github.com/benmanns/goworker现在我们框架在用的,虽然 star 不多,但是确实好用,当然还可以更好用.
https://github.com/rafaeldias/async

工具
定义了实用的判定类,以及针对结构体的校验逻辑,避免业务侧写复杂的代码.
https://github.com/asaskevich/govalidatorhttps://github.com/bytedance/go-tagexpr

protobuf 文件动态解析的接口,可以实现反射相关的能力。
https://github.com/jhump/protoreflect

表达式引擎工具
https://github.com/Knetic/govaluatehttps://github.com/google/cel-go

字符串处理
https://github.com/huandu/xstrings

ratelimit 工具
https://github.com/uber-go/ratelimithttps://blog.csdn.net/chenchongg/article/details/85342086https://github.com/juju/ratelimit

golang 熔断的库
熔断除了考虑频率限制,还要考虑 qps,出错率等其他东西.
https://github.com/afex/hystrix-gohttps://github.com/sony/gobreaker

表格
https://github.com/chenjiandongx/go-echarts

tail 工具库
https://github.com/hpcloud/tagl

来源:https://www.zhihu.com/question/22867411/answer/911161400

标签:go,开发工具,常用库
0
投稿

猜你喜欢

  • SQL Server数据库超级管理员账号防护

    2008-12-22 16:30:00
  • Bootstrap实现渐变顶部固定自适应导航栏

    2023-08-23 00:52:40
  • Django1.9 加载通过ImageField上传的图片方法

    2022-11-17 10:07:12
  • Python实现批量梯度下降法(BGD)拟合曲线

    2023-03-31 07:18:03
  • Python 安装 virturalenv 虚拟环境的教程详解

    2021-04-04 18:27:30
  • Windows存储 SQL行溢出 差异备份及疑问

    2008-12-24 15:22:00
  • JavaScript中常见的几种获取元素的方式

    2023-07-13 07:46:12
  • Python 类属性与实例属性,类对象与实例对象用法分析

    2023-03-12 01:43:03
  • 举例详解Go语言中os库的常用函数用法

    2024-05-08 10:43:53
  • python 还原梯度下降算法实现一维线性回归

    2023-10-09 21:53:42
  • JavaScript如何获取一个元素的样式信息

    2023-08-28 12:16:17
  • 如何使用python读取Excel指定范围并转为数组

    2023-06-13 15:21:10
  • Laravel重定向,a链接跳转,控制器跳转示例

    2024-04-28 09:45:02
  • javascript 继承实现方法

    2024-04-19 11:04:12
  • JS实现点击表头表格自动排序(含数字、字符串、日期)

    2024-05-02 16:16:53
  • Python多进程分块读取超大文件的方法

    2023-12-07 02:19:28
  • 用CSS设计多种文本框与按钮样式风格

    2007-08-10 13:11:00
  • 为JavaScript程序添加客户端不可见的注释

    2008-05-31 08:02:00
  • Python设计模式之工厂方法模式实例详解

    2021-02-26 05:40:59
  • Python BeautifulReport可视化报告代码实例

    2023-11-12 14:53:13
  • asp之家 网络编程 m.aspxhome.com