channel
传统意义上的并发编程,需要直接共享内存,这给并发模型带来了额外的复杂度. `Goroutine`本质上也是多线程模型,让Go变得特别的地方就是`channel`, 采用消息模型避免直接的内存共享,降低了信息处理的复杂度. 注意:**本文所有的源码分析基于Go1.6.2,版本不同实现可能会有出入** `Channel`是Go中一种特别的数据结构,它不像普通的类型一样,强调传值还是指针; 对于`channel`而言,只涉及传指针,因为`make(chan)`返回的是指针类型: ``` package main func abstractListener(fxChan chan func() string) { fxChan <- func...阅读全文