亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go:如何解決作為參數在兩個包之間傳遞的結構的依賴關系?

Go:如何解決作為參數在兩個包之間傳遞的結構的依賴關系?

Go
慕桂英3389331 2022-09-26 20:06:10
不知道構建這個的最佳實踐是什么,所以我沒有循環依賴關系,我有一個公開的包,它需要一個存儲,因為它需要訪問數據庫,但它也有一些結構userUserServicepackage usertype UserParams struct {    Client             util.HTTPExecutor    Store              store.Store    ...}func NewUserService(params *UserServiceParams) *UserService {...}type User struct {    ID               int32        `db:"id" json:"id"`    Name             string       `db:"name" json:"name"`}同時,我有一個存儲包,它有一個接口,可以采取一些用戶結構并保存到數據庫中。package storetype Store interface {  UpdateUser(ctx context.Context, u *user.User) error}它是否更有意義將結構移動到商店包裝中(后者可能最終會為不同的產品組件生成很多這些結構)User將結構移動到單獨的公共包中,以便兩個包都可以訪問它User將結構移動到包下的包中Useruserstructuser謝謝!
查看完整描述

1 回答

?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

首先,這個問題有點主觀,因為它在很大程度上取決于你的項目和你的項目的布局。話雖如此,如果我是你,我會這樣做。

考慮添加一個包。包很少依賴于其他任何內容,但所有內容都將依賴于包。然后,您的 和 包 都可以導入包,而不必擔心周期性依賴關系。typestypestypesstoreservicestypes

箭頭表示依賴關系/導入


查看完整回答
反對 回復 2022-09-26
  • 1 回答
  • 0 關注
  • 98 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號