Golangには、まだ実装したくないメソッドを持つインタフェースを定義するときにPythonでNotImplementedException
を生成するのに相当するものがありますか?この慣用的なゴランですか?例えばGolangはPythonのNotImplementedExceptionに相当します
:あなたはエラーに
type MyInterface interface {
Method1() bool
Method2() (bool, error)
}
を返すエラー処理を実装する場合golangで通常
type MyInterface interface {
Method1() bool
Method2() bool
}
// Implement this interface
type Thing struct {}
func (t *Thing) Method1() bool {
return true
}
func (t *Thing) Method2() bool {
// I don't want to implement this yet
}
を失敗することは慣用的であるかどうかは重要ですか?それがパニックやログを助けるなら、それで十分でしょう。 – coredump
必ずしも重要ではありませんが、私はまだGoを学んでおり、それを使う正しい方法を理解したいと思っています。 – Alex
私はこれに正解がないと感じます。インタフェースは暗黙的に実装されるため、この場合にインタフェースを作成した場合は、それを修正するか、2つの別々のインタフェースに分けてください。もしあなたがいないのであれば、ドキュメントを読んで、インタフェースがどのような振る舞いをしているのか、そして 'Method2'はいつ呼び出されるのかを理解しておくべきでしょう。(例えば、ファイルが閉じていて閉じようとしていなければ、何もせずに成功を返す)。要するに、より良い答えを得るために、より多くの情報を提供することを強くお勧めします。 – fstanis