waitgroup包的warp(包装)

it2025-05-30  9

将sync.WaitGroup包装一层,代码优雅一些

package main import ( "fmt" "sync" ) type WaitGroupWrapper struct { sync.WaitGroup } func (w *WaitGroupWrapper) Wrap(cb func()) { w.Add(1) go func() { cb() w.Done() }() } func main(){ w:= &WaitGroupWrapper{} w.Wrap(func (){ fmt.Println("协程1") }) w.Wrap(func(){ fmt.Println("协程2") }) w.Wait() }

输出:

协程2 协程1
最新回复(0)