我是 PHP 开发者,转 Go 两个月了吧,说下我的心路历程希望对你有所帮助。

下半年7月份,公司有个项目决定用 Go 写,自己想学习想尝试,还是觉得挺有压力的,毕竟没有专业的 Go 大牛带队,直接上生产环境后这是要经常填坑的节奏呀,更何况这些坑都是第一次遇到。

但是项目已经决定了,估计领导心里也有预期,执行就是了,填坑就填坑呗,万事开头难,干就对了,有啥问题,再查呗,在解决呗。

带着这个心态,每天抽出两个小时学习,因为还有很多 PHP 的项目需要维护,时不时还有一些需求。

从头开始,那就先从环境安装、变量声明、数组、Slice切片、Struct结构体、Map集合、Chan通道、循环、函数 ...

当时用这个项目对外提供 API 接口,找了一些开源框架做对比,最终团队内决定使用 Gin 框架。

又开始学 Gin,从框架安装、平滑重启、路由配置、日志记录、数据绑定和验证、异常捕获 ...

开始做 API 项目了,要使用 包管理、规划项目目录、参数验证、签名验证、日志记录、异常捕获、链路追踪、自定义告警 ...

开发过程中遇到的坑,就不细说了,坑总是要遇到的,早遇到比晚遇到要好的多。

现在有个项目都已经上线了,还用上了 gRPC、Jaeger、RabbitMQ、Apollo 等等,一些新项目也在规划使用中。

现在回过头来看,两个月的时间自己能学到这种程度,也能佩服自己的,还是那就话 干就对了。

当然这里面肯定要付出大量的时间,我基本上每天晚上回家都10点半左右快11点了,有一天周末陪孩子玩的时候,突然发现孩子长高了好多。

上面基本上就是这两个月点滴积累,虽然辛苦点我倒觉得是个机会,说不准直接转 Go 开发了呢。

在学习的过程中,我将学习笔记更新到 github 了,有兴趣你可以瞅瞅,都是比较初级的。

加油,祝好!