編集++:
Goでコードを繰り返さないようにするには?
type Animal interface {
Kingdom() string
Phylum() string
Family() string
}
type Wolf struct {}
type Tiger struct {}
func (w Wolf) Kingdom() string {return "Animalia"}
func (w Wolf) Phylum() string {return "Chordata"}
func (w Wolf) Family() string {return "Canidae"}
タイプ用に 3 つのメソッドを実装しましたが、インターフェイスを実装するには、タイプWolf
用のすべてのメソッドを実装する必要がありTiger
ます。ただしKingdom
、Phylum
メソッドは両方のタイプで同じです。Family
タイプのメソッドのみを実装することはどういうわけか可能ですかTiger
:
func (t Tiger) Family() string {return "Felidae"}
タイプごとに 3 つの方法をすべて繰り返さないようにするにはどうすればよいでしょうか。
免責事項
メソッド内の単純な文字列の戻り値と混同しないでください。実際のケースでは、定義済みの値だけでなく、さまざまなメソッドの実装が必要です。このばかげたスタイルを使用して、私はあなたの脳を汚すことを避けたい. したがって、スキップメソッドはまったく方法ではありません。ありがとう