给想转Go或者Go进阶同学的一些建议
前言
最近一直有小伙伴私信我学Go语言的问题:
有的小伙伴觉得客户端太卷了,想转服务端,觉得Java也卷,想学Go语言;
有的小伙伴是想从PHP或者Java转Go,做高并发编程,觉得Go更有前途。
聊的多了,发现这是一个共性问题,所以干脆整理成文章,希望对更多的人有帮助。
这篇文章会结合我的经历:
聊聊我认为客户端转服务端开发最大的挑战是什么?
如何高效转型做服务端开发?如何高效学完Go基础?
在熟练掌握Go基础之后,如何进阶?进阶要掌握哪些知识点?
先说结论
客户端转服务端,最大的挑战不是学一门新语言,而是编程思维的改变;
“三刷”官方文档是我高效学习一门新的编程语言的制胜法宝:
1刷从头看到尾,扫清知识盲点,搞清楚概念;
2刷必须手敲,而且要写注释和总结;
3刷先只写注释,不看文档实现功能,遇到问题再和文档比较,加深理解。如果还有余力,就和我一样整理成文章,分享出来帮助大家学习,回馈社区。
在掌握Go基础之后,也可以通过“三刷”的方式掌握SQL,Redis,Linux,Nginx的基础知识点,这样就有能力开发Web项目了。
要进阶就要学“微服务”和“DDD”!下文也会重点讲讲微服务和DDD的概念,让大家先有个目标,这样才能心中有火,眼里有光。
我的经历
我从2015年开始编程,已经有7年经验。入行时用Java语言开发了2年安卓客户端,然后转岗用PHP做服务端开发,最近2年用Go做Web应用开发和微服务开发。
下面介绍一下我的转型经历,看看对小伙伴们有没有启发,欢迎在评论区留言。
客户端开发到服务端开发
无论客户端转服务端,还是服务端转客户端,在有基础的情况下,学习一门新的编程语言,我认为都是比较轻松的。
对有基础的同学来说,学习一门新的语言,无外乎就是学习新语言的:数据类型、函数、运算符、错误处理等,再重点攻克一下语言的特点,基本2周时间就能去尝试写简单的demo,开发项目了。
当然,开发项目往往不是一帆风顺的,遇到问题也不要怕,一个一个的去解决就好了。 多在论坛或者社区里和大家交流,闻道有先后,不用担心自己提的问题太简单而不好意思。
难点在哪里呢?
我认为难点在编程思维的转变,思考问题角度的转变。
