Awesome Go
Go 包
beego。算起来用了三年beego了。当初选择用它的理由很简单,文档是中文的,开发者是中国的,交流方便。优点就是用得人较多,框架集成度高,工具比较多。不过从1.6开始兼容性大大降低开始对它无感。现在越来越觉得beego框架设计的太重,Golang的设计特点就是轻便,把各个功能包组装起来用。比如配置它的config包,不用又不行,因为框架启动就会调用。最近大家都在推荐gin,有兴趣可以试试。
beego/logs。日志包一直在用beego内置的logs包。它有一个特点就是支持日志自动分割,可以按行数分割或者按日期分割。目前还没有发现支持此功能别的日志包,有的话大家给我推荐一下。
beego/orm。我的服务对数据库操作很少,orm只是简单用用。之前还用过grop和xorm。Golang主要是用来做接口,对于数据库操作都比较简单,orm高级操作基本用不到。所以对我来说这些orm功能都差不多。。。
redigo。连Redis必备。功能很完善。
goquery。用来解析HTML。开发爬虫都会用到它。
goreq。一个HTTP请求包。之前会用它是因为它支持Gzip压缩。
viper。一个配置包。支持解析各种格式的配置文件,最让我惊喜的是它支持etcd。
gods。各种数据结构的Golang实现。这些代码生产环境没有直接用到过,不过自己写的时候可以借鉴一下。
ffjson。根据Golang的结构体自动生成
MarshalJSON
方法从而避免原生包通过反射编码引起的垃圾回收的问题。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结构体代码。
会持续更新。
最新文章
- 压力测试 闪存_产品评测 | HPE Nimble AF全闪存系列,诠释真正的高端存储
- 资源已存在时POST的HTTP响应代码
- DeepLearning tutorial(4)CNN卷积神经网络原理简介+代码详解
- 是否使用wraps的區別
- 2018-07-10 为Chrome和火狐浏览器编写扩展
- Guava入门~Lists
- 击败特斯拉!它拿下全球电动车型销量冠军,但售价仅是Model 3的零头
- 边界布局BorderLayout源码解析
- 转 Spring源码剖析——核心IOC容器原理
- HTML中  等6种空白空格的区别
- xcode免证书真机调试iphone(ipad)程序的具体方法(总结贴)转贴)
- DPDK性能优化技术汇总
- iTunes备份文件路径修改方法
- 2018c与语言程序设计形成性考核册,最新版中央广播电视大学C语言程序设计形成性考核册及答案.docx...
- Actor::updateMassFromShapes: Compute mesh inertia tensor failed for one of the actor's mesh shapes!
- 在 Parallels Desktop 中,全屏模式使用 Win7,唤醒时黑屏
- Oracle ORA-01861: literal does not match format string
- python实现有道词典翻译
- 两位数合并成一个四位数的C++代码
- vue-router路由重复点击时报错的解决方案
热门文章
- 命令行下(bat)使用 Lhaplus 自动 压缩 解压文件 (含参数设定说明)
- cmd 命令行中乱码问题解决
- liunx 命令 之 mkdir 与 touch
- 解决 php提交表单到当前页面,刷新会重复提交 的问题
- 解决Vscode编辑器不能打开多标签页问题
- 欠拟合和过拟合的一般解决方法
- 记录一次nginx502/504问题解决过程
- ubuntu18.04 没声音解决方案(坑自己版)
- webpack 运行提示“The ‘mode‘ option has not been set”的原因和解决方法
- Python的问题解决: IOError: [Errno 32] Broken pipe