Go语言快速入门

2022-10-18 ⏳1.1分钟(0.5千字) 🕸️

组内有同学想学习Go语言。趁这个机会整理一个入门系列文章分享给大家。本文权当是一个索引。

准备工作

简单介绍一下类UNIX下的学习环境。

./go-prepare.html

函数结构

Go程序本质上就是一个函数,也就是main函数。所以我决定以函数开篇。有了函数的概念,才方便介绍自定义类型和结构体函数。

./go-func.html

类型系统

类型系统比较繁杂,我尝试用整体的思想系统的介绍一下。但是我不想重复市面上已有的材料和官方文章,本节介绍的内容面向初学者,点到为止,但更讲究逻辑上的系统性。

./go-type.html

流程控制

从条件分支过度到 goto 语句,再将二者结合起来形成循环语句,最后从函数内流控跨越到函数间流控,也就是 panic/recover。还是以系统的思路来介绍。

./control-structures.html

错误处理本质上也是一类流程控制,但内容比较多,单独成文:

./errors.html

并发编程

先讲并发编程解决了什么问题,然后再说并发编程又导致了哪些问题。我从具体的问题出发讲解同步和争用两个主题的基础知识。

./go-concurrency.html

协程的 panic 需要特殊处理,学有余力的读者可以阅读另一篇文章:

./goroutine-panic.html

工程设计

介绍Go语言的在工程设计上的各种取舍,包括但不限于:

./go-engineering.html

综合示例

实现一个简单的 HTTP 文件下载服务器软件:

./go-sfile.html