有人可以给我具体的例子吗?
https://github.com/golang/go/wiki/CodeReviewComments#interfaces
这就是我的遵循方式吗?
package worker
type interface DB {
getAllTable()
}
type worker struct {
db DB
}
func (w worker) doSomething() {
w.db.getAllTable()
}
package listener
type interface DB {
getAllTable()
}
type listener struct {
db DB
}
func (l listener) doSomething() {
l.db.getAllTable()
}
package msql
type mysql struct {}
func (mysql) getAllTable() {
}
是否可以在2个地方重复这些界面以满足“定义消费对象”?
使用界面显示一般性怎么样?它是定义界面,而不是在何处使用
例如实现hash.Hash32的hash / crc32和hash / adler32
答案 0 :(得分:0)
您可以将DB
界面移到另一个包中,然后worker
和listener
包都可以使用它。