Files
learning_go/ch12/1/ch12_1.go
2026-02-21 14:41:54 +03:00

40 lines
522 B
Go

package main
import (
"fmt"
"math/rand"
)
func PrintNumbers() {
const IN_CHAN_NUM = 2
numCh := make(chan int, 20)
completeCh := make(chan int)
defer close(numCh)
defer close(completeCh)
for i := 0; i < IN_CHAN_NUM; i++ {
go func() {
for j := 0; j < 10; j++ {
numCh <- (rand.Int() % 100)
}
}()
}
go func() {
i := 0
for num := range numCh {
fmt.Println(num)
i++
if i == 20 {
break
}
}
completeCh <- 1
}()
select {
case <-completeCh:
}
}
func main() {
PrintNumbers()
}