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.