|
package main
import (
"fmt"
"sync"
)
func writeData(c chan int, i int) {
c <- i
}
func readData(c chan int) {
for i := 0; i < 5; i++ {
fmt.Println("The data is:", <-c)
}
}
func main() {
var wg sync.WaitGroup
wg.Add(5)
var c = make(chan int)
for k := 1; k <= 5; k++ {
go func() {
defer wg.Done()
writeData(c, k)
}()
}
go readData(c)
wg.Wait()
close(c)
} |