从PHP转到Go,看我就够了

引用公众号:进阶的脚步
链接:我是怎么从PHP转到Go的?

前言

最近换了工作,从入职到熟悉业务,到真正参与项目研发,这个过程有很多需要总结和思考的地方,主要是牵涉到技术栈切换,汇总一下分享出来,希望可以帮助到你。关于切换技术栈,对一个研发工程师来说,意味着战场换枪,海中换船。那么从PHP切换Golang,有哪些需要注意的呢?

有哪些需要注意的呢?

  1. 编程思想

这个听起来很空泛,很难具体的描述出来,但是跟实际研发关联很深。接触Go的时候,很容易带着主观思维去思考,活生生把Go写成了Java、PHP。所以,刚接触Go的时候不要背着历史包袱。要注重了解go所推崇的编程思想。

2.类比思维

在切换技术栈,当然在PHP所经常用到的技术中间件和开发工具也会跟着切换。

简单罗列一下:

一致性协调:zookeeper => etcd
消息队列:kafka => nsq
开发框架:Laravel/ThinkPHP/Yaf => Gin/Beego

注:当然在此只是简单说下,PHP开发过程用到的中间件不会局限以上几个,视公司技术选型而定。

学习资料分享

当然在学习中也踩了不少坑,在此罗列一下一路走来所用到的资料,希望能帮到大家。

(1)语言基础

  • https://github.com/Unknwon/go-fundamental-programming《Go编程基础》
  • https://github.com/Unknwon/the-way-to-go_ZH_CN 《go入门指南》
  • https://github.com/Unknwon/go-web-foundation《GoWeb基础》
  • https://github.com/Unknwon/go-rock-libraries-showcases《go库讲解》

(2)进阶相关

  • 书籍《go开发实战》
  • 书籍《go并发编程》
  • https://github.com/golang-china/gopl-zh 《go语言圣经》中文版
  • https://golangtc.com 《Golang中国》
  • https://studygolang.com 《Go语言中文网 》

(3)适合阅读源码的开源项目

  • https://github.com/cw1997/NATBypass
    简单的内网穿透工具,适合读源码

  • https://github.com/siddontang/go-mysql-elasticsearch
    MySQL与es的同步工具,代码量不大

注:在学习过程中有需要讨论的,可以在后台私信我。进阶的脚步,从未停止。

你可能感兴趣的:(从PHP转到Go,看我就够了)