go_sandbox/cmd/main.go
2024-11-02 14:07:18 +03:00

39 lines
624 B
Go

package main
import "fmt"
func read_from_c(c chan int, b chan int) {
for item := range c {
fmt.Printf("%d", item)
number_multiplied := item * item
b <- number_multiplied
}
close(b)
}
func read_from_b(b chan int) {
for item := range b {
fmt.Printf("%d", item)
}
}
func main() {
fmt.Println("main() started")
c := make(chan int)
b := make(chan int)
fmt.Println("Operation started")
go func() {
fmt.Println("Running writer")
for i := 1; i < 10; i++ {
fmt.Printf("Adding %v to channel c", i)
c <- i
}
close(c)
}()
go read_from_c(c, b)
for item := range b {
fmt.Printf("%d", item)
}
}