如果你有意进大厂,学习Go语言一定要提到你的日程上了。
美国程序员招聘网站Hired发布《2019软件工程师状态》报告中显示,基于市场供需来说,Go语言使用者目前最受招聘市场欢迎。
对比之下,你喜欢的Python受欢迎程度未排进前五。
Go蹿红,是因为它在业界的使用频率越来越高了。国外的Google、AWS、Cloudflare等,国内阿里、知乎等都已经大规模用Go语言开发相关产品,知乎还舍弃了Python用Go重构推荐系统。
今天,网友hoanhan101分享了一份完整Go语言学习笔记,里面记录了他从零开始学习Go语言时所用的方法,以及对应全部学习资料。
Hackernews热度1天升至400,好评如潮,一句话概括:
适合新手服用!
先上资源地址:
https://github.com/hoanhan101/ultimate-go
hoanhan101小哥建议,从零开始入门Go语言,可以分成三个阶段。
一阶段,啃完Ultimate Go Programming的视频讲座。
二阶段,利用Go语言培训社区Ardan Labs里提供的资源,强化实践。
三阶段,反过来研究关于计算机系统的理论教材,对系统知识再进行了解。
hoanhan101的学习思路是,注重理论与理论的结合,并且不能放弃死抠源代码。
重点来了,上述三个步骤需要的课程资源,hoanhan101小哥帮你整理好了,在GitHub资源中直接点开就能用。
这部分学习笔记大致分为几部分。
一是Go语言设计理念(Design Philosophy),内含介绍文档×1,不知道Go可以用来做什么可以从这里开始学习。
在这份入门指南中建议,在学习Go语言前必须制定一套设计理念,比制定盲目应用的规则更重要。
设计理念中特别强调了理解代码本身,学写代码其实和学一门自然语言有相似之处,需要阅读好的坏的代码加深语感,而这块是很多程序员缺乏的。
二是语言机制(Language Mechanics),包括Go语言的句法、数据结构、解耦三部分,每个分别有多个细分介绍。
三是软件设计(Software Design),内容细化到分组类型解耦过程、界面转换、界面污染,mock过程和常见雷区。
每个分类里还包含若干源代码分析,都是小哥自己学习时踩过的坑。
四是研究并发性(Concurrency),也就是在Go协程(Goroutine)、数据竞赛、多个channel和不用模式语境和模式下的操作过程。
五是测试和分析(Testing and Profiling),写到了基本单元测试、表测试、自测试等发测试方法,以及常见的标准等。
此外,还有各种包(Packages),作者表示这部分还在完善中。
Go的热度不是盖的,这份资源一出,Hackernews上的讨论区就开始活跃了,不少网友继续贡献资源、分享心得,也有一些对这份学习笔记的评价。
用户@olah_1推荐了一个Go语言课程,表示:
Learn Go with Tests是我经历过的最好的编程语言课程。
地址:
自带中文版资源:
用户@plinkplonk建议,如果搞不明白Go是什么,可以去OReilly上资料:
http://shop.oreilly.com/product/0636920046516.do
用户@ValentineC推荐了一个GitHub上5000+star的课程培训,来自上面提到的机构Ardan Labs:
https://github.com/ardanlabs/gotraining
还有网友贡献自制学习思维导图:
地址:
也有人推荐学习如何在没有框架的情况下用Go语言编写web app:
https://github.com/thewhitetulip/web-dev-golang-anti-textbook
据说,这份资料是由有15年编程经验人完成,现在免费开放。
有了这么多过来人的建议,还怕学不好么~
GitHub地址:
hackernews讨论区:
— 完 —
加入社群 | 与优秀的人交流
小程序 | 全类别AI学习教程
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
喜欢就点「好看」吧 !