认识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
  • FreeBSDmacOS High Sierra常用的dtrace工具
  • 查找Go环境的信息
  • 节点树
  • Go汇编