37

最新 Go 语言学习路线图

 4 years ago
source link: https://www.tuicool.com/articles/rAriEzm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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 语言学习路径和基础知识图。不论你属于上述哪一类,都可以按照此路径去学习深造。

JrqimiU.png!web

BZNFN3z.png!web

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. 专栏学习路径,助力高效学习。

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

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

eQNzAvF.png!web

QNNJvyy.jpg!web

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK