Go
June 16, 2022
Типичная ошибка с goroutines
Часто на собеседованиях предлагают объяснить и поправить вот такой код:
for _, val := range values { go func() { fmt.Println(val) }() }
// assume the type of each value is string for _, val := range values { go func(val string) { fmt.Println(val) }(val) }
Кто догадался молодец! А кто не догадался - рекомендую почитать эту статью, там освещается работа runtime scheduler.