Go不是典型的OO语言。同样,每种语言都有自己的处理方式。您可以使用界面和组成来实现所需的目标,如下所示:
package mainimport "fmt"type Foo interface { printFoo()}type FooImpl struct {}type Bar struct { FooImpl}type Bar2 struct { FooImpl}func (f FooImpl)printFoo(){ fmt.Println("Print Foo Impl")}func getFoo() Foo { return Bar{}}func main() { fmt.Println("Hello, playground") b := getFoo() b.printFoo()}http://play.golang.org/p/iR8QkD3DnP



