内容简介

本书主要讲解Go语言的一些关键特性的实现原理。Nicklaus Wirth大师曾经说过:算法+数据结构=程序,语言特性的实现不外乎是数据结构+代码逻辑。

全书内容共分为4部分:第一部分是基础特性(第1~3章),第二部分是对象模型(第4和5章),第三部分是调度系统(第6和7章),第四部分是内存管理(第8和9章)。书中主要内容包括指针、函数栈帧、调用约定、变量逃逸、Function Value、闭包、defer、panic、方法、Method Value、组合式继承、接口、类型断言、反射、goroutine、抢占式调度、同步、堆和栈的管理,以及GC等。

书中包含大量的探索示例和源码分析,读者在学会应用的同时还能了解实现原理。书中绝大部分代码是用Go语言实现的,还有少部分代码是用汇编语言实现的,这些代码都可以使用Go语言官方SDK直接编译。探索过程循序渐进、条理清晰,用到的工具也都是SDK自带的,方便读者亲自上手实践。

本书适合Go语言的初学者,在学习语言特性的同时了解其实现原理。更适合有一定的Go语言应用基础,想要深入研究底层原理的技术人员,以及有一些其他编程语言基础,想要转学Go语言的开发者阅读。