进入golang的开发已经差不多两年了,最近打算写个Golang的教程。目的是让有开发基础,没接触过Golang的人能够愉快高效地写出Golang项目。
1
记得17年底时候,有个特别小的项目,准备试试用Golang来写,哪段时间也不太忙,项目也比较小,还用Lua写了一遍作为兜底方案。其实对一个写过几年代码的人来说,查查Go的文档,写一个Go的项目并不是多难的事,使用Golang写这个项目并没有花费多大的事,应该在两周左右。当时是第一次写由于不知道一些公用第三方的库,有些功能上就显得非常费劲。比如,我想记日志,后来都是通过Golang写的文件,不知道有个特别好用并且高效的 uber-go/zap的日志库。测试环境调试的时候每次都是go build之后在运行build生成的二进制可执行文件,不知道有热加载工具 gin。放到生产环境之后,不知道有supervisor这样的进程管理软件监控 go的可执行文件。然后也不知道使用Nginx代理到 go程序的端口上,Redis连接数据库连接不知道使用连接池,等等。特别多的这种流程和软件使用上的问题,最终,这个项目使用兜底方案lua的版本。所以最近有了写个使用教程的打算,给新的写golang的童靴有个参考。
2
这个教程计划是不会花时间介绍Golang的语法和基础,市面上随便一个教程都有,搜索引擎也很容易查到。主要还是想介绍Golang开发所使用的工具,所依赖的软件,还有项目开发中所使用的第三方的类库。让刚进入golang开发的人知道有XXX软件使用解决什么问题,该怎么使用软件,怎么使用类库,怎么部署golang项目,提高开发效率。第三方好用的软件和类库的推荐和使用。主要是这个方向。