github.com/traefik/yaegi@v0.15.1/_test/type12.go (about)

     1  package main
     2  
     3  type T1 struct {
     4  	T2 *T2
     5  }
     6  
     7  func (t *T1) Get() string {
     8  	return t.T2.V().Name
     9  }
    10  
    11  type T2 struct {
    12  	Name string
    13  }
    14  
    15  func (t *T2) V() *T2 {
    16  	if t == nil {
    17  		return defaultT2
    18  	}
    19  	return t
    20  }
    21  
    22  var defaultT2 = &T2{"no name"}
    23  
    24  func main() {
    25  	t := &T1{}
    26  	println(t.Get())
    27  }
    28  
    29  // Output:
    30  // no name