В Go 1.22 переменная итерации в for range создаётся заново на каждой итерации (как в обычном for). Раньше одна переменная переиспользовалась - замыкания и отложенные вызовы видели одно и то же значение (обычно последнее). Теперь поведение интуитивное и безопасное для горутин.