github.com/HaHadaxigua/yaegi@v1.0.1/_test/struct32.go (about) 1 package main 2 3 type T0 struct { 4 name string 5 } 6 7 type lookupFunc func(s string) T0 8 9 type T1 struct { 10 name string 11 info lookupFunc 12 } 13 14 func (t T0) F1() bool { println("in F1"); return true } 15 16 type T2 struct { 17 t1 T1 18 } 19 20 func (t2 *T2) f() { 21 info := t2.t1.info("foo") 22 println(info.F1()) 23 } 24 25 var t0 = T0{"t0"} 26 27 func main() { 28 t := &T2{T1{ 29 "bar", func(s string) T0 { return t0 }, 30 }} 31 32 println("hello") 33 println(t.t1.info("foo").F1()) 34 } 35 36 // Output: 37 // hello 38 // in F1 39 // true