github.com/HaHadaxigua/yaegi@v1.0.1/_test/closure6.go (about)

     1  package main
     2  
     3  type T1 struct {
     4  	Name string
     5  }
     6  
     7  func (t *T1) genAdd(k int) func(int) int {
     8  	return func(i int) int {
     9  		println(t.Name)
    10  		return i + k
    11  	}
    12  }
    13  
    14  var t = &T1{"test"}
    15  
    16  func main() {
    17  	f := t.genAdd(4)
    18  	println(f(5))
    19  }
    20  
    21  // Output:
    22  // test
    23  // 9