Go中项目目录结构的最佳实践是什么?

问题描述 投票:0回答:1

我从来没有用自己的包创建一个大项目,但是对于这个项目,我忍不住要查看同一目录中的10多个.go文件。我试图将类似的函数和文件分割到单独的目录中,并且据我了解,如果Go将仅以子包的形式导入文件,Go将仅从子目录中读取文件。

这是我当前的结构:

src
├── client.go
├── conn.go
...
├── router
│   └── router.go
└── datagrams
    └── datagrams.go

[我预计这种情况很快会变得一团糟,因为router.go使用在datagrams.go中定义的结构,它们将彼此依赖。

我的第一个问题是,我是否正确使用软件包?还是我只是为了我自己的组织目的而尝试滥用此功能?

第二,有没有更好的方法来组织我的.go文件,还是我停留在一个大目录中以进行梳理?

[我曾尝试查看the language itself之类的其他大型Go存储库,但是除了识别fmtmath之类的一些程序包之外,我无法做出正面或反面的描述。

go package
1个回答
0
投票

我通常将此项目应用于我的项目https://github.com/golang-standards/project-layout

© www.soinside.com 2019 - 2024. All rights reserved.