从 goroutine 读取多个返回值

从 goroutine 读取多个返回值

php小编苹果从goroutine读取多个返回值是Go语言中的一种常见操作。Goroutine是Go语言中的轻量级线程,能够实现并发执行。在某些情况下,我们需要从一个或多个goroutine中获取返回值,以便进一步处理。这种操作可以通过使用通道(channel)来实现,通道是goroutine之间进行通信的重要机制。通过通道,我们可以在goroutine之间传递数据,实现协程之间的同步与通信。在本文中,我们将详细介绍如何从goroutine读取多个返回值的技巧和注意事项。

问题内容

我正在尝试用 Go 编写 wc(1),并且正在尝试使用 goroutine 来更有效地计算大量输入文件。我的代码工作正常,但我很难实现一种方法来总结所有 go 例程的统计信息。如何将函数变量 nlnwnc 传递给 main,并在所有 go 例程完成工作后在那里汇总它们?

package main import ( "bufio" "fmt" "os" "strings" ) func main() { ch := make(chan string) for _, arg := range os.Args[1:] { go wc(arg, ch) } for range os.Args[1:] { fmt.Println(登录后复制