有函数func goFuncAag ints string 用go语言实现10个并发 执行函数goFuncA 并整合返回数据
可以使用goroutine和channel来实现并发执行函数并整合返回数据的操作。具体代码如下:
package main
import "fmt"
func goFuncA(ag int) string {
return fmt.Sprintf("result of goFuncA(%d)", ag)
}
func main() {
results := make(chan string, 10)
for i := 0; i < 10; i++ {
go func(i int) {
result := goFuncA(i)
results <- result
}(i)
}
for i := 0; i < 10; i++ {
fmt.Println(<-results)
}
}
在上述代码中,我们首先定义了函数goFuncA,这个函数接收一个int类型的参数ag,并返回一个string类型的结果。
接着,在main函数中,我们创建了一个带有10个缓冲区的channel,用于存储函数执行的结果。然后,我们使用一个循环开启10个goroutine,并将函数执行的结果通过channel传递回来。
最后,我们再使用一个循环从channel中读取结果,并打印出来。
这样,我们就实现了并发执行函数并整合返回数据的操作。
原文地址: https://www.cveoy.top/t/topic/MFW 著作权归作者所有。请勿转载和采集!