Go 语言数据结构
本章主要介绍的是 Go 语言的数据结构及其特性,比如struct、slice、map等。
在数据类型方面有:
基于底层数组的切片;
用来传递数据的通道;
作为一等类型的函数;
可实现面向对象的结构体;
能无侵入实现的接口等。
在语法方面有:
异步编程神器go语句;
函数的最后关卡defer语句;
可做类型判断的switch语句;
多通道操作利器select语句;
非常有特色的异常处理函数panic和recover。
除了这些,我们还一起讨论了测试 Go 程序的主要方式。
这涉及了 Go 语言自带的程序测试套件,相关的概念和工具包括:
独立的测试源码文件;三种功用不同的测试函数;
专用的testing代码包;
功能强大的go test命令。
Go 语言提供的那些同步工具。它们也是 Go 语言并发编程工具箱中不可或缺的一部分。这包括了:
经典的互斥锁;
读写锁;
条件变量;
原子操作。
以及 Go 语言特有的一些数据类型,即:
单次执行小助手sync.Once;
临时对象池sync.Pool;
帮助我们实现多 goroutine 协作流程的sync.WaitGroup、context.Context;
一种高效的并发安全字典sync.Map。
最后更新于