在下面的代码中,如果其中一个启动的 go 例程花费太长时间(例如 > 10 秒)完成,我如何添加适当的超时错误处理?请注意,我不想有一个“整体”超时,而是每个 go 例程的超时,这样我也可以在我的错误报告中知道哪个 go 例程超时。

var wg sync.WaitGroup

for _, element:= range elements{
    wg.Add(1)
    go doWork(element, &wg)
}
wg.Wait()

亲切的问候