跳转至

导读 写给0基础入门的Go语言学习者

你好,我是郝林,今天我分享的内容是:0基础的你,如何开始入门学习Go语言。

1. 你需要遵循怎样的学习路径来学习Go语言?

我们发现,订阅本专栏的同学们都在非常积极的学习和讨论,这让我们非常欣慰,并且和你一样干劲十足。不过,我在留言中发现,大家的基础好像都不太一样,大致可以分为这么几类。

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

基于以上分类,我为大家制定了一份Go语言学习路径。不论你属于上面的哪一类,都可以按照此路径去学习深造。具体请看下面的思维导图。

(长按保存大图)

2. 学习本专栏前,你需要有哪些基础知识储备?

在这个专栏里,我会假设你有一定的计算机基础,比如,知道操作系统是什么、环境变量怎么设置、命令行怎样使用,等等。

另外,我还会假定你具备一点点编程知识,比如,知道程序是什么、程序通常会以怎样的形式存在,以及程序与操作系统和计算机有哪些关系,等等。

对了,还有在这个早已成熟的移动互联网时代,想学编程的你,一定也应该知道那些最最基本的网络知识。

我在本专栏里只会讨论Go语言的代码和程序,而不会提及太多计算机体系结构或软件工程方面的事情。所以你即使没有专门学过计算机系统或者软件工程也没有关系,我会尽量连带讲一些必要的基础概念和知识。

从2018年开始,随着Google逐渐重回中国,Go语言的官方网站在Google中国的域名下也有了镜像,毕竟中国是Go语言爱好者最多的国家,同时也是Go语言使用最广泛的一片土地。如果你在国内,可以敲入这个网址来访问Go语言的官网。

这个专栏专注于Go语言的核心知识,因此我并不会深入说明所有关于语法和命令的细枝末节。如果你想去全面了解Go语言的所有语法,那么可以去Go语言官网的语言规范页面仔细查阅。

当然了,这里的语言规范是全英文的,如果你想看汉化的内容也是有选择的,我记得先后有几拨国内的Go语言爱好者自发组织翻译过。不过我都没有仔细看过,不知道质量如何,所以在这里就不特别推荐了。

对于从事计算机和软件开发相关工作的同学,我强烈建议你们要有意地训练快速阅读英文文档的能力,不论是否借助字典和翻译工具。

不过,如果你想专门学习一下Go命令方面的知识和技巧,那么我推荐你看看我之前写的免费开源教程《Go命令教程》。这份教程的内容虽然稍显陈旧,但是帮助你学会使用Go语言自带的常用命令和工具肯定是没问题的。

好了,其实即使你是个编程小白也不用过于担心,我们会一起帮助你的。至于我刚刚说的Go语言规范和Go命令教程,你也可以在学习本专栏的过程中根据实际需要去有针对性的阅读。

3.这里有一份基础知识列表,请查收

如果你阅读本专栏的第一个模块时感觉有些吃力,那可能是你还没有熟悉Go语言的一些基础概念和知识。我为你精心制作了一张Go语言基础知识的导图,里面几乎包含了入门Go语言所需的所有知识点。


(长按保存大图)

有了这些,你是否已经感觉学习本专栏会更加轻松了呢?

总之,教程、资料和助推就交给我和极客时间的编辑、运营们来共同负责。而你需要做的,就是保存好这一份对Go语言学习的决心,你可以自己去尝试整理一份Go语言的学习笔记,遇见不懂的地方,你也可以在文章下面留言,我们一起讨论。

好了,感谢你的收听,我们下期再见。

戳此查看Go语言专栏文章配套详细代码。

精选留言(15)
  • kanxiaojie 👍(38) 💬(1)

    这些年看了那么多教程,感觉极客这些课程真的是实在的干货😄

    2018-12-22

  • 会哭的鱼 👍(118) 💬(8)

    老师还是忍不住询问下,之前是PHP的工作,有好几年了,去年底开始接触GO感觉很喜欢,但是现在公司在转Java,因为Java也要耗费很多精力学习,但是又不想放弃Go,请问有什么好的方式呢?期待您的回答

    2020-04-21

  • javaadu 👍(13) 💬(1)

    c++/c,python,java都学过,目前主力是java,也写一点c++。我学go语言的初衷是前公司使用了很多go开发的中间件(etcd、nsq等等),我希望能了解go语言在并发编程方面的特性,最好在必要的时候可以看懂这些中间件的源码

    2018-08-20

  • 随缘03230323 👍(5) 💬(1)

    会java,学go语言快吗?

    2018-08-22

  • 我来也 👍(5) 💬(1)

    在看这篇文章前,已经订阅了慕课网上的《go语言第一课》,也在看《go并发编程实战》第二版。 题外话,与慕课网上的郝林头像相比,还是这里的帅,虽然那里也是真实的。

    2018-08-20

  • lik0914 👍(4) 💬(1)

    go错误机制,一直搞不太明白,工程实践的好方式呢

    2018-08-20

  • 王小宇丶 👍(2) 💬(2)

    请问下老师,思维导图在字面量->值字面量这个分支中,先说 ”整数字面量本身是无类型的“,但是赋值的时候又说”整数字面量的默认类型是int“ 请问这个改怎么理解呢?

    2019-12-16

  • Dwyane 👍(2) 💬(1)

    老师你好,请问老师还可以看到留言吗?我是iOS的,有几点问题问老师。 1.go的前景如何. 跟java比,老师是怎么看待的? 2.mac电脑可以开发吗?我的是苹果电脑,如果不行,我只能装虚拟机或者双系统。

    2019-03-29

  • chon 👍(2) 💬(3)

    老师,有啥好用的go的开发工具ide推荐?谢谢

    2018-12-17

  • 云学 👍(2) 💬(1)

    有没有关于〃go语言的缺陷和陷阱〃的好资料

    2018-08-22

  • Emily 👍(1) 💬(1)

    Go 语言基础知识的导图,里面几乎包含了入门 Go 语言所需的所有知识点。 看不到图。。。。

    2019-08-28

  • 火腿 👍(1) 💬(1)

    非常好。 大图片是什么软件制作的?

    2019-01-27

  • 李晨 👍(0) 💬(2)

    请问基础知识列表的图是丢了吗

    2022-02-09

  • escray 👍(0) 💬(1)

    我自认为不算是零基础,有一点其他语言编程经验,但是对于 Go 来说,基本上还是白丁。 如果看完了《Go语言学习路线》中,老师罗列给零基础和无编程经验同学的书单,那么很可能已经超过了 80% 的程序员了。 我是打算先看这个专栏和隔壁的《Go 语言从入门到实战》,然后参加训练营,同时也会看一些老师推荐的资源,对我来说尽可能多的练习实践才是更关键的。 有一点好奇,为什么中国 Go 语言的爱好者最多? 另外 Go 语言的官网可以正常访问,也是很让人开心的事情。 看了老师给 @会哭的鱼 的回复,真心希望自己也能够通过学习 Go 语言,找到一份喜欢的工作。

    2021-03-22

  • Vicky~婵娟 👍(0) 💬(1)

    老师您好,您的课程干货满满 不过对于真正零基础的学者,可能最开始进入正题之前需要看看go语言的基本用法,这样能对后面分章节的内容有个概念

    2020-03-28