我有并发的 goroutines 想要将一个(指向一个)结构的(指针)附加到同一个切片。你如何在 Go 中编写它以使其并发安全?
这将是我的并发不安全代码,使用等待组:
var wg sync.WaitGroup
MySlice = make([]*MyStruct)
for _, param := range params {
wg.Add(1)
go func(param string) {
defer wg.Done()
OneOfMyStructs := getMyStruct(param)
MySlice = append(MySlice, &OneOfMyStructs)
}(param)
}
wg.Wait()
我想你需要使用 go 通道来保证并发安全。任何人都可以举个例子吗?