第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

在 Go 中構(gòu)建模型

在 Go 中構(gòu)建模型

Go
人到中年有點甜 2021-06-08 13:58:11
我正在嘗試找出在 Go 中構(gòu)建模型的慣用方法,但我無法為大型企業(yè)類型的應(yīng)用程序找到任何示例(只有很多會說話的貓和狗......)。我首先將我的每個模型放入一個單獨的包中,因為這似乎產(chǎn)生了最干凈的 API 來使用模型:import "models/person"person.New(...)     // returns the newly created personperson.GetById(123) // returns a single personperson.GetAll()     // returns a list of people但是,后來我遇到了我的模型需要相互引用很多的問題。我最終得到了如下所示的包:-- File person.gopackage Personimport "models/team"type Person struct {    Name string    Team Team}func (p *Person) New(...) *Person {    ...}-- File team.gopackage Teamimport "models/person"type Team struct {    Name   string    People []*Person}func (t *Team) New(...) *Team {    ...}這不起作用,因為現(xiàn)在我有一個循環(huán)引用。我應(yīng)該將所有這些模型添加到同一個包中,以便 API 看起來像這樣嗎?import "model"model.NewPerson(...)     // returns the newly created personmodel.GetPersonById(123) // returns a single personmodel.GetAllPeople()     // returns a list of people或者我應(yīng)該使用接口來解決這個問題(如果是這樣,它們會是什么樣子)?我也有關(guān)于如何處理數(shù)據(jù)庫連接之類的問題。人們通常如何向他們的模型提供數(shù)據(jù)庫連接(直接或通過某些中間對象)?是否每次調(diào)用都需要將某個數(shù)據(jù)庫的接口作為參數(shù),還是有更好的方法來做到這一點?在 Go 的某個地方是否有一個更大的例子來構(gòu)建完整的 Rest API?我在這里找到了一個例子,但它仍然很小,作者指出他是 Go 的初學(xué)者,所以我不確定有多少值得信任。
查看完整描述

2 回答

?
慕田峪7331174

TA貢獻1828條經(jīng)驗 獲得超13個贊

無需將每個模型放在單獨的包中。事實上,他們可能只是進入包 main。如果幾個包彼此之間存在各種相互依賴關(guān)系,那么它們在概念上的分離程度不足以成為單獨的包。


查看完整回答
反對 回復(fù) 2021-06-28
  • 2 回答
  • 0 關(guān)注
  • 217 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號