#### 欢迎大家来解惑:
以下代码中, done 这个 channel 使用 缓冲 和不使用缓冲,最终结果是一样的,这是为何?
这两者运行的过程分别是这样的?有何同与不同?
```
package main
import (
"fmt"
"time"
)
func main() {
done := make(chan bool, 1)
// done := make(chan bool)
go worker(done)
<-done
}
func worker(done chan bool) {
fmt.Println("start to working...")
time.Sleep(2 * time.Second)
fmt.Println("done")
done <- true
}
```
有疑问加站长微信联系(非本文作者)