Go语言101
《Go语言101》是一本着墨于Go语法语义以及运行时相关知识点的编程指导书(Go 1.17 就绪)。 此书旨在尽可能地帮助Go程序员更深更全面地理解Go语言。 此书也搜集了Go语言和Go编程中的很多细节,其中有一些在官方文档中从未提及。 此书同时适合Go初学者和有一定经验的Go程序员阅读。
- English version is here.
- 本书微信公众号名称为”Go 101”(联系方式一)。此公众号将时不时地发表一些Go语言相关的原创短文。各位如果感兴趣,可以搜索关注一下。
- 此项目源代码目前托管在(联系方式二)上。
- 你可以启动一个本地服务器来阅读本书以获取更快的阅读体验:
- 方法一:将本书项目克隆到本地,然后在项目目录中运行。
- 方法二(只适用于官方工具链1.16+版本):运行
go install go101.org/golang101@latest
来安装和更新可执行程序。
(本书由老貘历时三年写成。目前本书仍在不断改进和增容中。你的赞赏是本书和Go101.org网站不断增容和维护的动力。)
目录:
- - 为什么写这本书
Go语言简介 - 为什么Go语言值得学习
- 如何编译和运行Go程序
Go编程入门
- 程序源代码基本元素介绍
- 基本类型和它们的字面量表示
- - 顺便介绍了类型不确定值和类型推断
- 运算操作符 - 顺便介绍了更多的类型推断规则
- 代码包和包引入
- 基本流程控制语法
一些专题
- 更多关于延迟函数调用的知识点
- 详解panic/recover原理 - 也解释了什么是“函数退出阶段”
- 值复制成本
并发编程
- 并发同步概述
- 如何优雅地关闭通道
- - 如何使用标准库包
- 原子操作 - 如何使用
sync/atomic
标准库包 - 一些常见并发编程错误
内存相关