初学者学习 Golang指南,并推荐一些学习型的项目-爱 • 范儿

2017 年可以说是 Go 在云计算取得了领导地位,kubernetes 已经成为了所有云计算公司的底层架构,而且越来越多的互联网公司系统架构迁移到 k8s 上面,例如 github、阿里、腾讯、百度、滴滴、京东等大型企业纷纷拥抱,而这个系统就是 Go 开发的,很多公司都开始大力的投入工程师在 Go 开发中来,Go 一下子就成为了云计算的核心语言,大家应该都听过一个组织叫做 CNCF,云计算基金会组织,下面孵化了一堆的云计算项目,https://www.cncf.io/ 就可以看到基本上90% 的项目都是 Go 语言开发的,从这个我们可以看出来 Go 已经成为了名副其实的云计算系统语言。

同时又是 Go 在第二领域开始发力的一年,我所说的第二领域就是区块链,大家都知道比特币在过去一年可以说迅速的火爆全球,而它的底层技术区块链技术也是开始获得大家的认知,这个可以说是区块链 1.0 版本应用,而区块链 2.0 版本应用就是智能合约以太坊开始获得所有人的认知,基本上目前大多数做区块链的公司都是基于以太坊进行二次开发,而以太坊的底层正是 Go 开发的,同时 IBM 也开源了他们的 fabric,Fabric 是一个分布式账本平台方案,主要用于运行智能合约,利用可靠的技术以及可插拔方式实现各种商业应用场景的模块化架构,而且这个系统也是 Go 开发的,这两个区块链里面的明星项目都是用 Go 开发的,足以说明 Go 在分布式系统中的地位,这也就是为什么今年开始大批量的金融公司开始招聘 Go 工程师。

我觉得学习一门语言最重要的就是做到三点,第一看基础知识,第二学习抄代码,第三学习写代码

第一点,很多人都觉得上来就动手写,但是你基础的东西都没掌握,怎么写呢?欲速则不达,所以基础的东西还是必须要先掌握好。这里推荐几个基础的入门材料:

我觉得你把这几个基础掌握之后就可以开始抄袭代码了, 如果你之前有 PHP 的开发经验, 那么也许我写的这本书对你了解 golang 有帮助, https://github.com/astaxie/build-web-application-with-golang

第二点,我们很多时候开始写代码都是没什么思路,也无从下手,但是我们可以模仿别人写代码,上海俗话里面常说"吃大户,用大户,消灭大户",我们就是"看代码,抄代码,最后自己写代码"。这里给你几个入门级别的代码看看学习一下:

最后我列一下你可以自己参考去实现的一些功能,我当初培训我们战虎班的同学就是用这些来一起学习的。

  • 日志分析
  • IP 库分析
  • 管理后台查看分析日志

第三点,自己写代码,这个时候就是已经对 golang 有了一定的了解了,那么我们就可以开始做自己的项目了,做项目最想就是快速开发, 那么我就推荐你

这个阶段就是找各种东西用 golang 来写,多写就会理解越来越深入。