В чем именно разница между этими двумя?
wg1 := new(sync.WaitGroup)
и
var wg2 sync.WaitGroup
И почему foo(someString string, someChn chan string, wg *sync.WaitGroup)
работает для wg1, но не для wg2, а
bar(someString string, someChn chan string, wg sync.WaitGroup)
для wg2 но не wg1?