package util

import "sync"

// go <func> with single waitgroup
//
//	waitGo := util.GoWg(func() {
//		exampleFunc(foo, bar)
//	})
//	defer waitGo()
func GoWg(fn func()) (wait func()) {
	var wg sync.WaitGroup

	wg.Add(1)
	go func() {
		fn()
		wg.Done()
	}()

	return wg.Wait
}
