有没有办法让界面也包含Go中另一个界面定义的方法?
例如:
type BasicDatabase interface {
CreateTable(string) error
DeleteTable(string) error
}
type SpecificDatabase interface {
CreateUserRecord(User) error
}
我想要一种方法来指定SpecificDatabase
接口包含BasicDatabase
接口。类似于Go让你做结构组合的方式。
这样我的方法可以采用一种实现SpecificDatabase
但仍然在其上调用CreateTable()
的类型。
答案 0 :(得分:18)
这可以与组成结构时相同的方式完成。
type BasicDatabase interface {
CreateTable(string) error
DeleteTable(string) error
}
type SpecificDatabase interface {
BasicDatabase
CreateUserRecord(User) error
}