我目前正在发现Golang,我目前正在使用Mux和Gorm来尝试构建一个API。
所以一切都很好,直到我的main.go文件中有太多的内容,所以我想把这个API分割成多个文件,
当然,就像我在Node.js API中所做的那样,我创建了一个模型文件夹和一个路由文件夹,并开始将模型放在模型文件夹(model1.go、model2.go等)中的单个文件中,以便具有如下结构:
/MyProject |main.go |/models |model1.go |model2.go
然后我搜索了一点(嗯,现在很多了.)要知道如何将它们包含在我的main.go文件中,现在我要面对的事实是,在的设计中,语言希望任何外部文件都是一个包,它可以被任何其他Golang应用程序使用,这不是我想要的,而是,我只想将我的项目的内容分割成一个更好的可维护性,但是考虑到这个项目设计,这似乎是不可能的。我从1.6开始就听说过了,但是这仍然不是一个解决方案,因为它使得依赖项和项目文件保持在同一个位置是必要的,这不是构建项目的常规(也是逻辑的)方法。
我猜,庞大而复杂的Golang项目并没有把它们的整个代码库放在一个文件中,所以我只是在寻找一种很好的方法来将一个项目构建成多个文件,就像它们维护项目时所做的那样。
发布于 2018-01-16 08:20:04
/MyProject
|main.go
|model1.go
|model2.go如果您只想将您的代码保存在一个包中。
发布于 2018-01-16 08:37:45
不同方法
One包当需要时,我们可以在包范围中放置变量

两个包我们将在需要时从第二个包导入代码

配置变量包的Three+包我们将在需要时从配置包中导入代码。配置包将保存像DB和TPL这样的变量。


FYI: Go没有全球范围。你可以在亚历克斯·爱德华兹代码组织条款上读到更多关于它的信息。
https://stackoverflow.com/questions/48276724
复制相似问题