有人可以给我一个具体的例子来说明这个建议吗?
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/crc32 和 hash/adler32 实现 hash.Hash32