go 开发过程中一些不错的工具(不定期更新)
文章目录
【注意】最后更新于 December 2, 2019,文中内容可能已过时,请谨慎使用。
就是平时用到的一些工具
fswatch
用于监听目录文件的修改,一旦发生修改将自动执行系统指令,比如保存后自动 go run
之类的, 这个使用 go 写的
还有个跨平台的命令行工具,同样的名字 start 更多 emcrisostomo/fswatch 不过图方便用 go 这个就行
bee
属于 beego 的附属开发工具, bee run [project-name]
的执行效果也是自动监听文件改动执行编译命令, 感觉不如fswatch
方便,当然用 beego 开发的另说
astaxie/beego
govendor
是 go 开发的包管理工具, 虽然依赖的package
都在 gopath
当中,但是代码换一个环境就要重新go get
一堆东西实在不方便,而且还有一个值得吐槽的依赖包版本问题
govendor
工具就是解决这类的问题,通过 hash 来保证开发和线上使用的依赖库一样
kardianos/govendor
Gin
一个很不错的 web 开发框架,github 上已经有 14711个 star(截止到18/02/05), 和 Martini
的api 很像,但是更快,适合用来做 restful 的 API
gin-gonic/gin
mux
一个独立的路由包, 支持 restful,轻量,而且支持go的net/http
的接口
gorilla/mux
beego
国人开发的go web框架, 特点是大而全,方便入门,和 php 的框架思路很像,有不少人在吐槽它的笨重, 如果公司想转成 go 做 web 业务它是一个不错的选择,因为它能快速出东西啊,个人感觉有点头疼的是源码很多很多… astaxie/beego
beego-log
如果不想全部引用 beego 的内容,可以引进它的模块啊,它的 log 模块就是一个很不错的选择 beego-log 的中文档
kafka-go
和 kafka 相关的库很少,不过我个人使用的话这个库已经能满足我的需求, 我这里也有一个demo示例 segmentio/kafka-go
go-redis/redis
redis 的依赖包还是很简单的,这里推荐一个 star 不少的库 go-redis/redis
amqp
如果用 rabbitmq 就肯定用这个拉,官方出品的肯定有保证啊,可惜 kafka 还没出官方包 amqp
viper
一个很不错的 config 文件管理工具 viper
文章作者 GPF
上次更新 2019-12-02 (521dbfe)