请参阅此回购协议。我正在尝试创建一个数据存储接口。原因:我不想在开发时依赖于真正的 postgres 数据库,但我想在开发期间使用内存中实现。这有效,只要我在 main() 中创建实例。例如:db := store.NewMemoryDB()或db := store.NewDB()。但是现在我想创建一个基于布尔值的实例。所以我在 store 包中创建了一个函数GetDatastore(bool) 。这适用于 postgres 实现,但不适用于内存中。我收到以下错误:cannot use NewMemoryDB() (type *MockDB) as type *DB in assignment。现在我真的不知道如何解决这个问题。有人可以给我提示吗?如何使内存中的 *DB 兼容?
1 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
的返回类型GetDatastore
是具体类型*DB
,而*MockDB
不是*DB
您收到该错误的原因。相反,您想要的是返回接口类型Datastore
,这两者*DB
都*MockDB
实现了。
- 1 回答
- 0 关注
- 86 浏览
添加回答
举报
0/150
提交
取消