github.com/HaHadaxigua/yaegi@v1.0.1/_test/closure12.go (about) 1 package main 2 3 import "fmt" 4 5 type T struct { 6 F func() 7 } 8 9 func main() { 10 foos := []T{} 11 12 for i := 0; i < 3; i++ { 13 a := i 14 n := fmt.Sprintf("i=%d", i) 15 foos = append(foos, T{func() { println(i, a, n) }}) 16 } 17 foos[0].F() 18 foos[1].F() 19 foos[2].F() 20 } 21 22 // Output: 23 // 3 0 i=0 24 // 3 1 i=1 25 // 3 2 i=2