这里有一份完整详细的,来自网友hoanhan101,记录了他从零开始学习Go语言所用的方法,以及对应全部学习资料。

Hacker News一天升至400热度,好评如潮,用一句话概括就是:适合新手服用。

三阶段学习最全笔记

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语言资源大汇总

Go的热度不是盖的,这份资源一出,Hackernews上的讨论区就开始活跃了,不少网友继续贡献资源、分享心得,也有一些对这份学习笔记的评价。

用户@olah_1推荐了一个Go语言课程,表示:

Learn Go with Tests是我经历过的最好的编程语言课程。

自带中文版资源:


用户@plinkplonk建议,如果搞不明白Go是什么,可以去OReilly上资料:

用户@ValentineC推荐了一个GitHub上5000+star的课程培训,来自上面提到的机构Ardan Labs:

还有网友贡献自制学习思维导图:

也有人推荐学习如何在没有框架的情况下用Go语言编写web app:

据说,这份资料是由有15年编程经验人完成,现在免费开放。

有了这么多过来人的建议,还怕学不好么~

传送门