1 package main 2 3 type Foo struct { 4 a []*Bar 5 b []int32 6 c bool 7 d []*Bar 8 } 9 10 type Bar struct { 11 name string 12 } 13 14 func NewFoo(a []*Bar, b []int32) *Foo { 15 return &Foo{a: a, b: b} 16 } 17 18 func (f *Foo) Complete() { 19 f.d = append(f.d, f.a...) 20 } 21 22 func main() { 23 b := &Bar{name: "hello"} 24 f := NewFoo([]*Bar{b}, nil) 25 f.Complete() 26 println(len(f.d)) 27 } 28