Golang packages 篇

zap

benchmark

viper

mongodb

mongo-go-driver

mgo

错误

insert err: read tcp 192.168.5.4:52364->192.168.5.4:27017: i/o timeout

insert err: read tcp 192.168.5.4:52364->192.168.5.4:27017: i/o timeout

  • 命令行登录mongo [确认能登录上]

然后.我再设置mongo session的时候,做了个超时时间..说明mongo在这个时间内没响应..

最后发现是因为我的表很大有7000w数据. 没有索引造成查询慢导致的...

自己定义mongo的_id

var mongoId  bson.ObjectId
mongoId = bson.NewObjectId()
ObjectIdHex("5c349602421aa960dc53322b")

ObjectIdHex to id

我们拿到的mongo _id 是 ObjectIdHex("5c349602421aa960dc53322b") 我们想要的是 5c349602421aa960dc53322b

onlyId := fmt.Sprintf("%x", string(mongoId))

id to ObjectIdHex

collection.Find(bson.M{"_id": msgId}).One(&req) 当我们这样去find的时候是找不到的.必须要 ObjectIdHex 格式才能找到

collection.Find(bson.M{"_id": bson.ObjectIdHex(msgId)}).One(&req)

参考文章

热更新

我觉得 这个只能用来开发

# 安装rizla包
$ go get -u github.com/kataras/rizla
# 热重启方式启动iris项目
$ rizla main.go

gotests

安装pkg

go get -u -v github.com/cweill/gotests/...

go-torch

这是 uber 开源的一个工具,可以直接读取 golang profiling 数据,并生成一个火焰图的 svg 文件

go-redis

melody

一个基于gorilla/websocket封装的websocket包

json-iterator

滴滴出的一个json转换包

参考文章

Golang 命令行项目生成工具 Cobra

go 中的carbon

如果你用过php中的carbon包的话,那么你也一定会喜欢他

输出各种颜色的包

golang里面输出默认是没有颜色的,你可以用这个包

mysql orm

imroc/req

一个发送request请求的包