ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 本章小结 本章讨论了许多有趣的 Go 相关主题,包括有关 Go 垃圾收集器的理论和实践信息。如何从 Go 程序中调用 C 代码;方便但不那么好掌握的`defer`关键字; `panic()`和`recovery()`函数; `strace(1)`,`dtrace(1)和 dtruss(1)`UNIX 工具;使用`unsafe package`;如何从 Go 生成 WebAssembly 代码;和 Go 生成的汇编代码。使用`runtime` package 查看了有关 Go 环境的信息,并展示了如何输出和解释 Go 程序的节点树。最后,给了你一些不错的 Go 编码建议。 在本章中,你应该记住的是,`unsafe` package 和从 Go 调用 C 代码的功能通常在以下三种情况下使用:首先,当你想要最佳性能时,又想为此牺牲一些 Go 安全性;其次,当你想与另一种编程语言交流时;第三,当你想要实现 Go 中无法实现的功能时。 在下一章中,我们将开始学习 Go 附带的基本数据类型,包括**arrays, slices, maps**。尽管它们很简单,但是这些数据类型几乎是每个 Go 应用程序的构建基础,因为它们是更复杂的数据结构的基础,它使你可以在 Go 项目中存储数据和移动信息。 此外,你还将学习**pointers, Go loop**,这和在其他编程语言中类似。以及 Go 与日期和时间配合使用的特有方式。