Go学习终极笔记 The Ultimate Go Study Guide-CN
优秀的人儿 @hoanhan101 在GitHub分享了一份完整的Go语言学习笔记,记录了他从零开始学习Go所使用的方法,还有相对应的全部学习资料。对应的仓库 ultimate-go 目前已经有超过14.5k star。他的仓库 ultimate-go 目前是由 Ardan Labs gotraining-studyguide 在维护。
Go语言中文社区不乏有很多好书,和它们相比,ultimate-go 项目最大特点应该是从零开始学习Go语言,适合新手服用。
大佬 @ardan-bkennedy 的新书 Ultimate Go Notebook 英文版已经出版,电子书售价 $9.99,纸质书籍 售价 $24.99。这无疑是一本优秀的好书,但对于学生党而言,买书捉襟见肘呀😂同时,纯英文的表达也许会劝退一些人...
相信 Ultimate Go Notebook 的中译本已经提上日程了,但是学习时不待我,既然如此,也正好趁着这个机会将 ultimate-go 项目整理成中文版ultimate-go-cn,作为一名小白 Gopher,希望对 Go中文社区的 Gopher 们能有些许帮助。
本人也是一名 Go 初学者,目前已经学习了 The tour of Go, 因水平有限,项目整理过程中难免会有纰漏,欢迎提交 issues 批评指正。
hoanhan101 建议,从零开始入门Go语言,可以分成三个阶段。
一阶段,啃完Ultimate Go Programming的视频讲座。
二阶段,利用Go语言培训社区Ardan Labs里提供的资源,强化实践。
三阶段,反过来研究关于计算机系统的理论教材,对系统知识再进行了解。
hoanhan101的学习思路是,注重实践与理论的结合,并且不能放弃死抠源代码。
重点来了,上述三个步骤需要的课程资源,hoanhan101小哥帮你整理好了,在GitHub资源中直接点开就能用: ultimate-go
学习笔记大致分为五个部分:
-
Go语言设计理念(Design Philosophy),内含介绍文档×1,不知道Go可以用来做什么可以从这里开始学习。在这份入门指南中建议,在学习Go语言前必须制定一套设计理念,比制定盲目应用的规则更重要。
-
语言机制(Language Mechanics),包括Go语言的句法、数据结构、解耦三部分,每个分别有多个细分介绍。
-
软件设计(Software Design),内容细化到分组类型解耦过程、界面转换、界面污染,mock过程和常见雷区。每个分类里还包含若干源代码分析,都是小哥自己学习时踩过的坑。
-
研究并发性(Concurrency),也就是在Go协程(Goroutine)、数据竞赛、多个channel和不用模式语境和模式下的操作过程。
-
测试和分析(Testing and Profiling),写到了基本单元测试、表测试、子测试等测试方法,以及常见的标准等。
- @hoanhan101 ultimate-go https://github.com/hoanhan101/ultimate-go
- @ardan-bkennedy gotraining-studyguide https://github.com/ardanlabs/gotraining-studyguide
- @ardan-bkennedy gotraining https://github.com/ardanlabs/gotraining
- Go 官网教程 The tour of Go https://tour.go-zh.org/welcome/1
- @a8m Go Cheat Sheet golang-cheat-sheet https://github.com/a8m/golang-cheat-sheet#go-cheat-sheet
- 量子位 怎么学习 Golang? https://www.zhihu.com/question/23486344/answer/830242071
If you have any questions about the project of ultimate-go-cn, please feel free and contact with me. I will reply you as soon as possible.
E-mail: chenfengyuan@cqu.edu.cn & chenfengyuan.hb@gmail.com
Twitter: zhumengcf https://twitter.com/zhumeng_yuan
Blog: yuancf1024的博客 https://yuancf1024.github.io/