Go 初体验
用 Go 写了第一个线上服务,简单记录一些。
- 直接
net/http
,没有用 Web 框架。之前用过 Beego,强大但过于黑盒,很多细节不理解,其实 Go 已经提供了 web 开发所需要的东西,这个服务只需对外 API,没有页面等,直接net/http
反而更简单。 - 强制代码风格,大爱,包括定义但不使用直接报错,刚开始会有不适应,但是对整体代码质量很有帮助。
database/sql
提供了统一的数据库操作接口,配上不同的 driver 即可。- Golang 的 error handlling 是个特色,但作为 web service 有些繁琐,需要再学习看有没有更为简洁的处理方式。
- 无痛热更新比较麻烦,还没有找到类似 Nginx 的实现。
- 性能上简单的 ab 压测和 ngx_lua 差距不大,开发效率相对高一些,毕竟自带库更丰富。
- gin 可以监控代码变化并自动重新编译,代理方式,不错的开发辅助工具。
Was this page helpful?