不知道構(gòu)建這個的最佳實(shí)踐是什么,所以我沒有循環(huán)依賴關(guān)系,我有一個公開的包,它需要一個存儲,因?yàn)樗枰L問數(shù)據(jù)庫,但它也有一些結(jié)構(gòu)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"`}同時,我有一個存儲包,它有一個接口,可以采取一些用戶結(jié)構(gòu)并保存到數(shù)據(jù)庫中。package storetype Store interface { UpdateUser(ctx context.Context, u *user.User) error}它是否更有意義將結(jié)構(gòu)移動到商店包裝中(后者可能最終會為不同的產(chǎn)品組件生成很多這些結(jié)構(gòu))User將結(jié)構(gòu)移動到單獨(dú)的公共包中,以便兩個包都可以訪問它User將結(jié)構(gòu)移動到包下的包中Useruserstructuser謝謝!
Go:如何解決作為參數(shù)在兩個包之間傳遞的結(jié)構(gòu)的依賴關(guān)系?
慕桂英3389331
2022-09-26 20:06:10