亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 sync/errgroup 包在 Go 中編寫并發 for 循環

如何使用 sync/errgroup 包在 Go 中編寫并發 for 循環

Go
桃花長相依 2023-03-15 13:46:11
我想同時對切片的元素執行操作我正在使用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]


查看完整回答
反對 回復 2023-03-15
  • 1 回答
  • 0 關注
  • 155 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號