WaitGroup и переменная C-style цикла

Что выведетJuniorбесплатно01-t027

Что выведет программа? Как исправить?

main.gogo
1package main2 3import (4	"fmt"5	"sync"6)7 8func main() {9	wg := new(sync.WaitGroup)10 11	for idx := 0; idx < 10; idx++ {12		wg.Add(1)13 14		go func() {15			fmt.Println(idx)16			wg.Done()17		}()18	}19 20	wg.Wait()21}
Чем закончится программа?
Сначала подумай без запуска — на собесе компилятора не будет.