02.1 本章概述

在前面章节中提到的所有的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汇编