最新 Go 语言学习路线图

2019 年程序员最想学习的编程语言 Top 3 分别是 Go、Kotlin 和 Python,其中 Go 以 37.2% 的比例排在首位。

1. 明星大厂热推,岗位需求火热。

前阵子,国外开发者平台 HackerRank 发布了一份开发者技能报告,调查结果表明:2019 年程序员最想学习的编程语言 Top 3 分别是 Go、Kotlin 和 Python,其中 Go 以 37.2% 的比例排在首位。

最近几年,Go 语言的发展确实比较迅猛,想来自 2009 年底 Go 语言开源至今,也不过十个年头。

企业对于 Go 语言的使用情况也在逐年上升。自发布以来,Go 语言就深受明星大厂的喜爱,包括以 Java 打天下的阿里巴巴,更不用说深爱 Go 的滴滴、今日头条、小米、奇虎 360、京东等明星公司了,业界甚至一度看好 Go 语言有取代 Java 王者地位的潜力。

面对 c 位出道的 Go 语言,你还不赶快上手,提前学习一下。

2. 学习路线 & 基础知识一键获取

入门 Go 语言的同学基础不一,具体可以分成下面几类。

  • 零基础的同学:可能正准备入行或对编程刚开始感兴趣,对计算机、操作系统和网络方面的知识不太了解。
  • 无编程经验或者编程经验较少的同学:可能正在从事其他的技术相关工作,也许可以熟练编写脚本,但是对程序设计的通用知识和技巧还不太了解。
  • 有其他语言编程经验的同学:可能已经是程序员或软件工程师,可以用其他编程语言熟练编写程序,但对 Go 语言还不太了解。
  • 有一定 Go 语言编程经验的同学:已有 Go 语言编程基础,写过一些 Go 语言程序,急需进阶却看不清途径。

基于以上分类,我制定了一份 Go 语言学习路径和基础知识图。不论你属于上述哪一类,都可以按照此路径去学习深造。

3. 进阶高级知识点逐个击破

除了基础知识之外,如果你想要进阶高级 Go 语言工程师,还需要通关以下的知识点。

数据类型方面:

  • 基于底层数组的切片;
  • 用来传递数据的通道;
  • 作为一等类型的函数;
  • 可实现面向对象的结构体;
  • 能无侵入实现的接口。

在语法方面:

  • 异步编程神器 go 语句;
  • 函数的最后关卡 defer 语句;
  • 可做类型判断的 switch 语句;
  • 多通道操作利器 select 语句;
  • 非常有特色的异常处理函数 panicrecover

Go 语言自带的程序测试套件,相关的概念和工具包括:

testing
go test

Go 语言的同步工具:

  • 经典的互斥锁、读写锁、条件变量和原子操作,
  • Go 语言特有的一些数据类型,单次执行小助手 sync.Once、临时对象池 sync.Pool、sync.WaitGroup 和 context.Context。
  • 并发安全字典 sync.Map。

如果你理解了上述知识点,就掌握了 Go 语言编程的精髓。在这之后,再研读 Go 语言标准库和优秀的第三方库,就会事半功倍;使用 Go 语言编写软件时,就会游刃有余。

4. 专栏学习路径,助力高效学习。

专栏学习路径逐层深入:经典例题——典型回答——问题解析——知识扩展——难点总结。

精美配图展示,知识点一目了然,配合学习的代码包,亲手搭建实战代码,上手实操演练。

内容选自极客时间 Go 语言核心 36 讲 专栏