package main import "fmt" // 生产者:产生 1~5 func producer1(out chan<- int) { for i := 1; i <= 5; i++ { fmt.Println("[Producer] 发送:", i) out <- i } close(out) } // 处理者:把数字放大 10 倍 func multiplier(in <-chan int, out chan<- int) { for v := range in { fmt.Println("[Multiplier] 接收:", v) out <- v * 10 } close(out) } // 消费者:打印结果 func consumer1(in <-chan int) { for v := range in { fmt.Println("[Consumer] 最终结果:", v) } } func main() { ch1 := make(chan int, 2) // 有缓冲,减轻 producer 阻塞 ch2 := make(chan int, 2) go producer1(ch1) go multiplier(ch1, ch2) consumer1(ch2) }