外部モジュールから受け取ったinterfaceをラップして拡張したいときに使えそう。
type Foo interface {
Print()
}
type MyFoo struct {}
func (f *MyFoo) Print() {
fmt.Println("MyFoo")
}
type Bar struct {
Foo
}
func main() {
var f MyFoo
b := Bar{&f}
b.Print()
b2 := Bar{}
b2.Foo = &f
b.Print()
}
0 件のコメント:
コメントを投稿