Go 开发过程中一些不错的工具(不定期更新)

就是平时用到的一些工具

fswatch

用于监听目录文件的修改,一旦发生修改将自动执行系统指令,比如保存后自动 go run 之类的, 这个使用 go 写的

codeskyblue/fswatch

还有个跨平台的命令行工具,同样的名字 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