Golang工作中常用的一些庫(kù)
1.json解析
非常好用的json解析工具庫(kù)
github.com/tidwall/gjson
高性能json庫(kù),替代encoding/json
https://github.com/json-iterator/go
2.lua庫(kù)
將靜態(tài)語言與動(dòng)態(tài)語言結(jié)合,發(fā)揮各自優(yōu)勢(shì),以插件模式運(yùn)作,充分發(fā)揮在棧、寄存器等方面的使用,減少日常工作維護(hù)。
gopher-lua是一個(gè)非常牛逼的庫(kù),每個(gè)運(yùn)行l(wèi)ua的引擎是個(gè)棧,后面有機(jī)會(huì)給大家分享這方面的知識(shí),看看這個(gè)源碼還是相當(dāng)不錯(cuò)的。
https://github.com/yuin/gopher-lua
3.單元測(cè)試
日常中需要編寫很多單測(cè),而以monkey作為日常中最常用的庫(kù)之一,確實(shí)非常好用。
https://github.com/bouk/monkey
單測(cè)是個(gè)比較大的話題,之前也分享過相關(guān)的文章,除了monkey還有g(shù)omock框架可以生成框架測(cè)試代碼。特別是針對(duì)rpc接口需要mock的,可以使用gomock來完成。
大家經(jīng)常使用的mockgen是用go編寫的代碼,經(jīng)過編譯為bin文件使用的,這種可以生成一些代碼,除此之外自己也可以使用bash shell來完成這種工作,提高日常工作效率。
https://github.com/golang/mock
此外,gostub也用的比較多,不過由于安全性原因,不用了。
4.定時(shí)任務(wù)
像刷新頁(yè)面的服務(wù),刷新緩存的服務(wù)等等都需要使用定時(shí)器,linux cron之類的如何工作呢?
這里有個(gè)golang編寫的cron庫(kù),簡(jiǎn)直牛逼。
https://github.com/robfig/cron
另一個(gè)是:
https://github.com/go-co-op/gocron
5.json轉(zhuǎn)換格式網(wǎng)站
給你一個(gè)json結(jié)構(gòu)的數(shù)據(jù),能夠?qū)⒋a轉(zhuǎn)換為對(duì)應(yīng)的結(jié)構(gòu)體,直接在代碼中使用,這簡(jiǎn)直太方便~
https://mholt.github.io/json-to-go/