golang有许多优秀的第三方库,有时要使用时忘记库名又要去github找半天,还是写下来做个笔记并且逐步添加。以下的库基本都实际使用过。
JSON解析
tidwall/gjson
主要用来解析JSON。
不用再定义复杂结构,直接像其他语言一样根据Key来获取数据,方便很多。
而且gjson官方自己的测试结果性能还是不错的。
实际使用跟官方混用比较好:
gjson对于Json数据格式不是很严格的情况最为有用,还有就是JSON数据结构定义太多但又只想读取部分值的情况。
官方用在数据格式严格定义且数据稳定的情况比gjson好用。
Web框架
gin-gonic/gin
一开始就使用gin,因为听说性能不错,而且我基本只需要做API,对html模板基本无需求,使用的结果感觉还是不错,简单容易上手。
随机数
NebulousLabs/fastrand
性能非常好的随机数库,实测确实比官方随机数快很多。
数据库
golang数据库自带连接池,操作数据库时需要事先了解一下这个概念。
1. go-sql-driver/mysql
我想大多数人都使用这个mysql连接驱动包。
2. gomodule/redigo
不错的redis客户端。
protobuf
1. golang/protobuf
官方的protobuf库。
2. gogo/protobuf
据说比楼上官方的快很多,没有实际使用过。
TOML库
BurntSushi/toml
挺好,没啥可说。
爬虫
PuerkitoBio/goquery
感觉用golang写爬虫比python更爽快。
我写简单爬虫比较喜欢先用go的http.Client把文件全抓下来,然后使用goquery库来解析本地的html文件。
附带一下使用Fiddler4抓ios手机数据当遇到https页面时,要先用ios的浏览器打开代理的Fildder页面,安装证书,并且在ios系统设置里开启信任该证书。然后就可以愉快的分析页面了。
当使用go的http.Client下载https页面,在创建http.Client时最好设置: