package main
import "fmt"
func main() {
for i := 0; i < 3; i++ {
defer fmt.Println(i)
}
for i := 0; i < 3; i++ {
defer func() {
fmt.Println(i)
}()
}
for i := 0; i < 3; i++ {
i := i
defer func() {
fmt.Println(i)
}()
}
}
Ответ: https://go.dev/play/p/pntndQy2jzo