Может кто-нибудь дать мне конкретный пример этого совета?
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() {
}
Можно ли дублировать интерфейсы в двух местах, чтобы удовлетворить «определить потребителя, где он потребляется».
Как насчет использования интерфейса, чтобы показать общность? Это определяет интерфейс не там, где он потребляется
Например, hash / crc32 и hash / adler32, реализующие hash.Hash32