【发布时间】:2019-03-27 12:29:42
【问题描述】:
我是 Go 编程语言的新手。 我刚刚从他们的网站上了解了频道,并尝试创建 以下程序: 1) 我想创建 100,000 个频道。 2)当第一个通道接收到一个消息(值)时,他将其加 1 并将其传递到下一个通道(按顺序)。 3) 当我们到达最后一个频道时,它将打印 100,001。
我用循环创建了频道,但我发现很难找到 如何以我描述的“多米诺骨牌”方式传递和更改数据。 任何解决方案或参考将不胜感激。 谢谢!
这是我的代码:
package main
func addOneAndPass(c1 chan int, c2 chan int) {
c := make(chan int)
c <- 1
val := <- c
}
func main() {
const n = 100000
var channels [n]chan int
for i := 0; i < n; i++ {
channels[i] = make(chan int)
}
}
【问题讨论】:
-
显示你到目前为止尝试过的内容。
-
我准确地写了我做对的事情(创建通道)以及我卡在哪里(编写一个函数,该函数将按顺序在通道之间传递信息,并将传递的值加一。
-
不要让我们猜测你从散文中写了什么代码。显示代码。
-
已上传。谢谢!