I have the following:
https://play.golang.org/p/q2NUMzbw6-
package main import "fmt" type A struct { Name string Address string } type B struct { A } type C struct { A } type D struct { A } //....more structs that embed A type myinterface interface { SetName(string) SetAddress(string) } func run() *A { // iterate over a slice of structs that embed A.... how???? for _, s := range []*A{ &B{}, &C{}, &D{}, } { s.SetName("Bob") s.SetAddress("Maine") // do some other stuff that gets very verbose w/out a slice... return s.A } } func main() { a := run() fmt.Println(a) } I need to iterate through all of the structs that embed A but am having a hard time doing so. The above doesn't work "cannot use B literal (type *B) as type *A in array or slice literal". What is the best way?