次のインターフェースと構造体がある場合:
package shape
type Shape interface {
Area()
}
type Rectangle struct {
}
func (this *Rectangle) Area() {}
func New() Shape {
return &Rectangle{}
}
New()
次に、メソッドを (コンストラクターとして) インターフェイスに追加するにはどうすればよいShape
ですか?
ユースケースは、別の構造体がある場合ですSquare
type Square struct {
Rectangle
}
次に、Square
メソッドがありArea()
ます。しかし、それはありませんNew()
。私の目的は、継承する構造体に自動的にメソッドをShape
持たせることです。New()
どうやってやるの?