package main
import (
“fmt”
“strconv”
“sync”
)
var (
msg chan string
signal chan bool
)
func main() {
signal = make(chan bool)
msg = make(chan string)
var wg sync.WaitGroup
wg.Add(1)
go func() {
send()
wg.Done()
}()
wg.Add(1)
go func() {
receive()
wg.Done()
}()
wg.Wait()
}
//生产者
func send() {
for i := 0; i < 100; i++ {
msg <- strconv.Itoa(i)
}
close(msg) /当关闭一个channel时,所有因为接收该channel而阻塞的语句会立即返回*/
}
//消费者
func receive() {
for m:=range msg{
fmt.Println(m)
}
}