当前位置: 首页 > 后端技术 > PHP

我是如何从php过渡到写go

时间:2023-03-29 23:12:06 PHP

的本来是想继续上一期公众号的<<每日不定期更新>>系列,但是想了想还是先写这篇文章。希望对刚过渡到Go或者打算过渡的人有所帮助。去年7月初,起点在上一家公司毕业后第一次感受到瓶颈,再加上小公司项目半凉半凉的状态,当即提出离职。交接的过程中,开始投简历面试,因为学历不是很好,开源界也没有什么有前途的项目,所以对大厂也不抱什么希望。整个期间面试了三个公司,我拿了两个offer,一个是直播,一个是电商行业。我选择了电子商务公司。不是很大,还有一千多人,然后我完成了从辞职到就职的无尽旅程。接缝是连着的,到现在已经工作半年多了。面试的时候面试的是php岗位,因为没有其他语言经验,入职第一周没有具体的工作安排,但是熟悉环境。第二周收到了一些小requests,审稿后看不难。不过,新公司第一次上线,心里还是有些紧张。幸运的是,没有出现任何问题,一切正常。八月份,因为我们在做一个全新的项目,我开始搭建一些与业务无关的基础模块,并连接了一些平台。九月初左右,因为有些场景不适合用php,有意识的想把纯业务模块和底层的通用模块分开。了解到其他部门在做中台业务的时候,也在把技术栈从php迁移到Go。另外,内部也有专门的部门搭建Go框架,打包常用包,提高业务开发效率。。。然后老板来问我,有没有打算搞Go,我的回答是一厢情愿!!!我花了大约一天的时间来学习语法。之前说过,看了薛老师的Go入门教程。只需浏览上面的基本语法并将其全部键入即可。因为之前偷偷学了一点,没过多久,我就恢复了之前的那点本事。这个时候,我已经可以看懂这么简单的代码了。packagemainimport"fmt"funcmain(){gofunc(){fmt.Println("Printnot?")}()}如果你在php-fpm设置中一直沉默,这个现象可能你不知道以上运行结果。不信,很多人真的不知道为什么,当然我不是说黑话。然后因为公司内部框架是基于gin的。gin官网的demo都是我自己敲的,建议大家也照样敲。初学者要学会从模仿开始。当然,模仿是动手操作。然后老板找了个大佬,根据公司内部框架,开了一个业务项目。它不是很大。我跑下来之后,按照readMe进行了一系列的操作。跑的过程有点坎坷,踩了一个坑。咨询了老板后解决了。根据这个项目去了解它的运行流程、生命周期以及涉及到的知识点……这时候千万不要纠结于代码细节,细节就是魔鬼!大概过了三天,我就开始写我们部门的项目,一直写到现在。这个过程非常有趣。经常会发现前几天执行的不好,第二天就是不断的重构,不断的调整。我是怎么知道的?当然是学习啦!首先,那段时间,除了完成公司要求的过程中,遇到对Go不了解的东西,比如package,应该去官网搜索一下,或者看一些文章。遇到内部框架不懂的地方,就去问老大,老大对我一直很好。下班后也没闲着,疯狂补充围棋相关的知识。记得之前没看懂sync.Mutex中定义的常量,后来去查了资料。其实是很基础的东西,代码如下,const(mutexLocked=1<