請參閱此回購協議。我正在嘗試創建一個數據存儲接口。原因:我不想在開發時依賴于真正的 postgres 數據庫,但我想在開發期間使用內存中實現。這有效,只要我在 main() 中創建實例。例如:db := store.NewMemoryDB()或db := store.NewDB()。但是現在我想創建一個基于布爾值的實例。所以我在 store 包中創建了一個函數GetDatastore(bool) 。這適用于 postgres 實現,但不適用于內存中。我收到以下錯誤:cannot use NewMemoryDB() (type *MockDB) as type *DB in assignment?,F在我真的不知道如何解決這個問題。有人可以給我提示嗎?如何使內存中的 *DB 兼容?
1 回答

幕布斯6054654
TA貢獻1876條經驗 獲得超7個贊
的返回類型GetDatastore
是具體類型*DB
,而*MockDB
不是*DB
您收到該錯誤的原因。相反,您想要的是返回接口類型Datastore
,這兩者*DB
都*MockDB
實現了。
- 1 回答
- 0 關注
- 115 瀏覽
添加回答
舉報
0/150
提交
取消