tasks := []string{"a", "b", "c"}
// *** before: ***
for _, t := range tasks {
go func() {
fmt.Println(t) // t - одна переменная на весь цикл,
}() // почти всегда напечатает "c", "c", "c"
}
// *** in version 1.22: ***
for _, t := range tasks {
go func() {
fmt.Println(t) // у каждой итерации своя переменная t
}() // напечатает "a", "b", "c" в произвольном порядке
}