WaitGroup есть, а счётчик всё равно врёт

Что выведетJuniorпроверка — Спринт08-t010

Горутины инкрементируют общий счётчик, main честно ждёт их через WaitGroup. Что выведет программа? Что не нравится в этом коде?

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