认识GO的内部机制
在前面章节中提到的所有的Go特性都非常简便,你会一直使用它们。然而,更有价值的事情是看到并理解Go程序背后的运行机制。
本章将会介绍垃圾回收以及它的运行机制、如何在Go程序中调用C的代码。在某些情况下在Go中使用C代码是必不可缺的,但是在大多数情况下你并不会用到,因为Go本身就是一种非常强大的编程语言。同样的,如何在C程序中调用Go代码也将会介绍。最后将谈谈如何使用panic()、recover()
函数和defer
关键字。
本章你将会学习的主题:
- Go编译器
- Go的垃圾回收是如何工作的
- 如何检测垃圾回收的运转情况
- 在Go中调用C
- 在C中调用Go
panic()
和recover()
函数unsafe
包- 方便但又棘手的关键字
defer
- Linux工具
strace
FreeBSD
和macOS High Sierra
常用的dtrace
工具- 查找Go环境的信息
- 节点树
- Go汇编