导读 | 写给0基础入门的Go语言学习者
该思维导图由 AI 生成,仅供参考
1. 你需要遵循怎样的学习路径来学习 Go 语言?
2. 学习本专栏前,你需要有哪些基础知识储备?
- 深入了解
- 翻译
- 解释
- 总结
郝林在本文中分享了针对0基础入门的Go语言学习者的学习路径和基础知识储备。他将读者分为零基础的同学、无编程经验或经验较少的同学、有其他语言编程经验的同学以及有一定Go语言编程经验的同学,并为他们制定了相应的学习路径。在文章中,郝林强调了学习本专栏前需要具备的基础知识储备,包括计算机基础、一点点编程知识和基本的网络知识。他还提到了Go语言的官方网站在中国的镜像以及专栏的专注点。此外,他还分享了一份基础知识列表的导图,以帮助读者更轻松地学习本专栏内容。郝林鼓励读者保存对Go语言学习的决心,并提供了留言讨论的机会。整体而言,本文为0基础入门的Go语言学习者提供了清晰的学习路径和基础知识储备,为他们的学习之路提供了指引和支持。
《Go 语言核心 36 讲》,新⼈⾸单¥59
全部留言(45)
- 最新
- 精选
- kanxiaojie置顶这些年看了那么多教程,感觉极客这些课程真的是实在的干货😄2018-12-22138
- 会哭的鱼老师还是忍不住询问下,之前是PHP的工作,有好几年了,去年底开始接触GO感觉很喜欢,但是现在公司在转Java,因为Java也要耗费很多精力学习,但是又不想放弃Go,请问有什么好的方式呢?期待您的回答
作者回复: 这个问题其实问得很好。相信很多技术人都有这样的困惑。咱们在这里先不说是否“为了Go语言而转团队甚至跳槽”的问题。 我们先要从两个方面考虑。第一个,你需要问问自己,目前的公司和团队所做的事情是否是你热爱的? 假设,如果你在金融领域中的一个很不错的互联网公司,那么这个公司必然是以Java为主的。你如果很喜欢在那里工作,那么就应该也以Java为主,把Go语言作为爱好。这其实并不冲突,研究Go语言可以让你深入了解到并发模型、操作系统和网络通讯方面的东西。这些技术到了底层其实都是想通的。Java由于中间有一层体量很庞大的JVM,所以有时反倒不容易看清底层的东西。当然了,如果你潜心研究JVM,那底层的东西也会涉及到一些。 刚才说的是选择“做哪个领域的事”的问题,现在说选择“技术栈”的问题。一些互联网公司只用一种技术栈,这其实是懒惰的表现。每个技术栈都有它的特色和强势领域。一个优秀的互联网公司往往不会只使用一个技术栈,多个技术栈合力以充分发挥它们的最大优势才是王道。 所以,第二个问题就是,你要问一问,你所在的公司是否对技术栈有包容性。如果有,那么很好,你可以建议先用Go语言做一些边缘的并且可以体现其优势的小项目,然后慢慢的再去扩大这种优势。如果万一没有,我也不能说这就是一家烂公司,也许它只是一家非技术驱动的公司。如果对于上面的第一个问题你的回答是否定的,那么就可以考虑动一动了。 另外,我其实会鼓励软件程序员去构建自己的个人项目。这当然是在不耽误现有工作内容的前提下。通过这种方式,你也可以获得很多额外的实践机会和知识。这在你开始工作的前5年是很重要的。有时候,这种额外的实践也可以让你逐渐搞清楚自己真正热爱的是什么。为什么有的程序员2、3年就很牛了?这就是主要原因之一。不过,我在这里只是建议,因为这会以牺牲你的休息时间为代价。 那总结来看,有三点: 1. 你是否喜欢你所在的领域、公司和团队,热爱你现在做的事情?如果是,你就遵从团队的决定;如果不是,你可以结合第三个问题,做自己的项目或者更换职位。 2. 你的公司是否对技术栈有足够的包容性,可以让你去探索和拓展?如果是,你要抓住机会,合力运用Go语言;如果不是,你需要结合第一个问题和第三个问题,做自己的项目或者更换职位。 3. 你是否愿意牺牲个人的自由时间去做额外的实践?如果是,那么很好,赶紧去做吧!如果不是,那么你很可能需要顺从公司和团队的决定,因为这就是打工者应该做的。 以上就是我想给你的答案。
2020-04-218117 - javaaduc++/c,python,java都学过,目前主力是java,也写一点c++。我学go语言的初衷是前公司使用了很多go开发的中间件(etcd、nsq等等),我希望能了解go语言在并发编程方面的特性,最好在必要的时候可以看懂这些中间件的源码
作者回复: 你要是想深入了解Go并发编程可以买我写的那本《Go并发编程实战》第二版。
2018-08-2013 - 随缘03230323会java,学go语言快吗?
作者回复: 会很快,因为Go更简单。
2018-08-225 - 我来也在看这篇文章前,已经订阅了慕课网上的《go语言第一课》,也在看《go并发编程实战》第二版。 题外话,与慕课网上的郝林头像相比,还是这里的帅,虽然那里也是真实的。
作者回复: 谢谢啊!不是同一个时期的,这里的头像更贴近现在。
2018-08-205 - lik0914go错误机制,一直搞不太明白,工程实践的好方式呢
作者回复: 在后面讲错误处理的时候我会深入解析。
2018-08-204 - 王小宇丶请问下老师,思维导图在字面量->值字面量这个分支中,先说 ”整数字面量本身是无类型的“,但是赋值的时候又说”整数字面量的默认类型是int“ 请问这个改怎么理解呢?
作者回复: 整数字面量,比如“123”、“456”,它们本身属于无类型的常量。数值字面量、字符字面量和字符串字面量本身都是无类型常量,都是不可变的。当它们被付给某个变量,或者被显式的类型转换之后就成为了有类型的值了。 你可以把这看作是一个客观事物的两种不同状态。打个比方,你刚出生的时候,没有名字、没有国籍,但是你存在于社会中必须要有这两样东西。所以,在你被认可为一个独立且与其他人(比如你父母)有关联的人的时候,这两个外加的属性就会被赋予你。在这之后,你才能在社会中从事各种活动(否则就是黑户了)。 一个整数字面量(或者说表示为整数的常量)在被真正使用之前,Go语言必然会为它设定一些属性。虽然对于每一种常量都存在与之对应的默认类型,但它们本身是无类型的。类型这个属性在常量被真正使用的时候才会生效且具有约束意义。 更详细的说明可以参看官方文档:https://golang.google.cn/ref/spec#Constants 。
2019-12-1622 - Dwyane老师你好,请问老师还可以看到留言吗?我是iOS的,有几点问题问老师。 1.go的前景如何. 跟java比,老师是怎么看待的? 2.mac电脑可以开发吗?我的是苹果电脑,如果不行,我只能装虚拟机或者双系统。
作者回复: 你好, 1. 这个问题要详细说的话可能要说很多。简单说,Go语言是一门很简约的编程语言,而Java体系复杂很多。如果你刚开始学一门后端编程语言,我建议学Go。另外这两门语言的适用领域是差不多的。但是由于Go语言更年轻,它本身更适应现代的编程需求。 2. Go语言是跨平台的语言。从应用层面说,相同的程序可以在各种主流的操作系统上编译、安装和运行。所以macOS完全没有问题。
2019-03-292 - chon老师,有啥好用的go的开发工具ide推荐?谢谢
作者回复: vscode或者goland
2018-12-1732 - 云学有没有关于〃go语言的缺陷和陷阱〃的好资料
作者回复: 这个专栏的一部分内容说的就是这个。
2018-08-222