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結構體代碼。


會持續更新。

相關文章
相關標籤/搜索