3 回答

TA貢獻1811條經驗 獲得超4個贊
對此有多種解決方案。
您可以將所有函數保存在同一個包中的不同文件中。您必須使用詳細的名稱。
您可以為每個資源創建一個結構,并為其定義一組函數:
type GithubRepository struct {}
func (g GithubRepository) find() {}
func (g GithubRepository) create() {}
type GithubRepositoryPayload struct {}
func (g GithubRepositoryPayload) find() {}
func (g GithubRepositoryPayload) create() {}
...
這也可以為處理程序提供訪問通用功能或變量的方法。您可以使用這些創建一個基本結構并將其嵌入到所有處理程序結構中。

TA貢獻2041條經驗 獲得超4個贊
為了使項目簡單并最大程度地減少文件的多次導入,請將所有文件保存在具有不同文件名的同一包下。示例(假設為 testService):
repoName: testService
folder structure
1.testService(Dir)
2.routes.go
2.commons.go
2.handler.go
2.models.go
2.utils.go
1.main.go
1.Dockerfile
這里數字1代表同級,2代表服務目錄下的文件

TA貢獻1827條經驗 獲得超8個贊
您可以使用此結構來組織您的項目
如果文件位于同一個包中,則函數名稱必須不同。
您可以創建名為“helpers”的包并從任何其他包中使用。(不要忘記配置GOPATH環境變量)
我已經創建了一個具有此結構的存儲庫,您可以克隆它并將其用作模板。我希望我有所幫助:)
- 3 回答
- 0 關注
- 185 瀏覽
添加回答
舉報