Задача о горутинах и выводе

Что выведет данна программа? Почему?

package main

import (
	"fmt"
)

func main() {
	for i := 0; i < 5; i++ {
		go func() {
			fmt.Println(i)
		}()
	}
}