私は、次のしている:Golangメソッドのオーバーライド
type Base struct {
}
func(base *Base) Get() string {
return "base"
}
func(base *Base) GetName() string {
return base.Get()
}
私はBase
の代わりに新しいタイプを使用して、どこ項目GetName()ことができるように取得します()の新しい実装で新しいタイプを定義したいです新しいGet()実装を呼び出します。 Javaを使用していた場合、Baseを継承してGet()をオーバーライドします。 Goでこれをどのように達成する必要がありますか?可能であれば変更を破棄しないようにしたいので、Baseの既存の消費者を変更する必要はありません。この時
私の最初の刺し傷は動作しません..which ..
type Sub struct {
Base
}
func(sub *Sub) Get() string {
return "Sub"
}
のように見えます。私の脳はまだ明確にGoのために配線されていません。
の可能な複製を[ golangの親structからオーバーライドされたメソッドを呼び出すことは可能ですか?](http:// stacko verflow.com/questions/21251242/is-it-possible-to-call-overridden-method-from-parent-struct-in-golang) – Vadyus
Goには継承がなく、ジェネリックもありません。何かが 'Base'型を予期しているなら、それを別の型で与えることはできません。 – JimB