构建简单的通道数据流水线

GolangBeginner
立即练习

介绍

在这个挑战中,你将编写一个 Go 程序,通过构建一个在协程(goroutines)之间传输整数的简单数据处理流水线,来展示通道(channels)的强大功能。你需要创建一个缓冲通道,将数字 1 到 5 写入通道,然后按照写入顺序从通道中读取并打印每个数字。

构建简单的通道数据流水线

在这个挑战中,你将编写一个 Go 程序,通过构建一个在协程之间传输整数的简单数据处理流水线,来展示通道的强大功能。

任务

  • 创建一个容量为 5 的整数缓冲通道
  • 将数字 1, 2, 3, 4, 和 5 写入通道
  • 按照写入顺序从通道中读取并打印每个数字

要求

  • 使用文件 ~/project/data_pipeline.go
  • 使用 make(chan int, 5) 创建缓冲通道
  • 使用通道发送操作符 <- 向通道写入数字
  • 使用通道接收操作符 <- 从通道读取数字
  • 使用 fmt.Println() 打印每个数字
  • 确保所有数字都被完整地写入和读取

示例

运行程序:

go run data_pipeline.go

预期输出:

1
2
3
4
5

提示

  • 记住使用 ch <- value 向通道发送值
  • 使用 value := <-ch 从通道接收值
  • 缓冲通道允许在阻塞之前发送多个值
  • 如果需要,可以在写入所有值后关闭通道

总结

总而言之,这个挑战要求你编写一个使用通道构建简单数据处理流水线的 Go 程序。你需要创建一个缓冲通道,将数字 1-5 写入其中,然后按照写入顺序从通道中读取并打印每个数字。

✨ 查看解决方案并练习