github.com/HaHadaxigua/yaegi@v1.0.1/_test/issue-1007.go (about)

     1  package main
     2  
     3  type TypeA struct {
     4  	B TypeB
     5  }
     6  
     7  type TypeB struct {
     8  	C1 *TypeC
     9  	C2 *TypeC
    10  }
    11  
    12  type TypeC struct {
    13  	Val string
    14  	D   *TypeD
    15  	D2  *TypeD
    16  }
    17  
    18  type TypeD struct {
    19  	Name string
    20  }
    21  
    22  func build() *TypeA {
    23  	return &TypeA{
    24  		B: TypeB{
    25  			C2: &TypeC{Val: "22"},
    26  		},
    27  	}
    28  }
    29  
    30  func Bar(s string) string {
    31  	a := build()
    32  	return s + "-" + a.B.C2.Val
    33  }
    34  
    35  func main() {
    36  	println(Bar("test"))
    37  }
    38  
    39  // Output:
    40  // test-22