Awesome Go

Go 包

  • beego。算起来用了三年beego了。当初选择用它的理由很简单,文档是中文的,开发者是中国的,交流方便。优势就是用得人较多,框架集成度高,工具比较多。不过从1.6开始兼容性大大下降开始对它无感。如今愈来愈以为beego框架设计的过重,Golang的设计特色就是轻便,把各个功能包组装起来用。好比配置它的config包,不用又不行,由于框架启动就会调用。最近你们都在推荐gin,有兴趣能够试试。git

  • beego/logs。日志包一直在用beego内置的logs包。它有一个特色就是支持日志自动分割,能够按行数分割或者按日期分割。目前尚未发现支持此功能别的日志包,有的话你们给我推荐一下。github

  • beego/orm。个人服务对数据库操做不多,orm只是简单用用。以前还用过gropxorm。Golang主要是用来作接口,对于数据库操做都比较简单,orm高级操做基本用不到。因此对我来讲这些orm功能都差很少。。。数据库

  • redigo。连Redis必备。功能很完善。json

  • goquery。用来解析HTML。开发爬虫都会用到它。数据结构

  • goreq。一个HTTP请求包。以前会用它是由于它支持Gzip压缩。框架

  • viper。一个配置包。支持解析各类格式的配置文件,最让我惊喜的是它支持etcd。ide

  • gods。各类数据结构的Golang实现。这些代码生产环境没有直接用到过,不过本身写的时候能够借鉴一下。工具

  • ffjson。根据Golang的结构体自动生成MarshalJSON方法从而避免原生包经过反射编码引发的垃圾回收的问题。post

  • godep。说实话Golang对包管理不太友好。有一个项目用了godep来作版本管理,每次都要执行好多命令真是麻烦。Golang新版内置包管理了,这个能够放弃使用了。性能

  • bitset。这个包已经在生产环境使用了,它是Bitmap的Golang实现。底层用uint64切片保存数据。性能是内置map的40倍。

  • jobrunner。一个Crontab包。beego内置的Crontab包以前有bug,只能找个新的。我关注这个的包的时候才100个Star,不过好在好用。

Go 工具

  • Cleaner Go。代码检测相关不错的文章。

    • 静态代码检测 staticcheck.exe $(glide.exe nv)
    • 无用代码检测 unused.exe $(glide.exe nv)
    • 代码简化建议 gosimple.exe $(glide.exe nv)
    • 原生检测 go vet
  • gojson。一个工具,能够经过Json格式的文本生成Golang结构体代码。


会持续更新。

相关文章
相关标签/搜索