docs: 单向通道

This commit is contained in:
Shikong 2021-11-17 22:06:18 +08:00
parent ba41ea784b
commit 076413d72f

View File

@ -0,0 +1,39 @@
package main
import (
"fmt"
"sync"
)
var wg = new(sync.WaitGroup)
// 只写 单向通道
func producer(ch chan<- int) {
defer wg.Done()
for i := 0; i < 100; i++ {
ch <- i
}
close(ch)
}
// 只读 单向通道
func consumer(ch <-chan int) {
defer wg.Done()
for i := range ch {
fmt.Printf("%d\n", i)
}
}
func main() {
// 可读可写 双向通道
ch := make(chan int, 10)
wg.Add(2)
go producer(ch)
go consumer(ch)
wg.Wait()
}