我想同时对切片的元素执行操作我正在使用sync/errgroup包来处理并发这是 Go Playground 上的最小复制https://go.dev/play/p/yBCiy8UW_80
1 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
import (
"fmt"
"golang.org/x/sync/errgroup"
)
func main() {
eg := errgroup.Group{}
input := []int{0, 1, 2}
output1 := []int{}
output2 := make([]int, len(input))
for i, n := range input {
eg.Go(func() (err error) {
output1 = append(output1, n+1)
output2[i] = n + 1
return nil
})
}
eg.Wait()
fmt.Printf("with append %+v", output1)
fmt.Println()
fmt.Printf("with make %+v", output2)
}
产出
with append [3 3 3]
with make [0 0 3]
与预期相比[1 2 3]
- 1 回答
- 0 关注
- 130 浏览
添加回答
举报
0/150
提交
取消