小册描述
目录
- Go语言的面向对象编程
- 面向对象编程的本质
- Go语言实现封装
- Go语言中字段和方法的封装
- 为值类型和指针类型绑定方法的区别
- Go语言实现继承
- 利用组合实现继承
- 匿名字段的支持
- 多继承
- Go语言实现多态
- 面向接口编程
- Go语言中的接口
- Go语言中的接口实现
- 利用面向接口编程实现方法多态
- 编程范例——接口的典型应用
- 接口嵌套实例
- 伪继承与接口实现
- 并发
- 线程的概念
- 线程模型
- 协程的工作原理
- 协程的使用
- GPM模型
- 从线程模型看GOMAXPROCS参数
- Go语言中的协程同步
- 独占锁——Mutex
- 读写锁——RWMutex
- 等待组——WaitGroup
- 利用channel实现协程同步
- 利用channel实现锁定
- 利用channel实现等待组
- 总结使用channel实现并发控制
- 让出时间片
- time.Sleep()和runtime.Gosched()的本质区别
- runtime.Gosched()与多核CPU
- Go语言中的单例
- 利用sync.Once实现单例
- sync.Once的实现原理
- 编程范例——协程池及协程中断
- 协程池的实现
- 协程的中断执行