我在全球范围内有两个变量package main,那些是:
var (
app Application
cfg Config
)
Run Code Online (Sandbox Code Playgroud)
现在,由于我的应用程序的大小开始增加,我决定将网站的每个模块放在自己的包中,就像子目录一样:
/src/github.com/Adel92/Sophie
+ user/ (package user)
- register.go
- login.go
- password.go
+ topic/ (package topic)
- ... etc
- main.go (package main)
Run Code Online (Sandbox Code Playgroud)
我如何绕过从其他包访问app和cfg全局变量?这是错误的方法吗?我有一种感觉.
在这种情况下,我怎么会在声明自己的命名空间功能,所以我没有发疯具有固定其名称user和topic所有的时间.
提前致谢.
资本化的变量名导出用于其他包访问,因此App并Cfg会工作.但是,通常不建议使用子包用于名称间距; 软件包适用于离散的,独立的功能,因此使用它们通常比使用它们更麻烦(例如,导入周期是完全不可能的,所以如果你在这个布局中有两个子包需要与之交谈彼此,然后你运气不好).
如果你发现你需要前缀的东西user,并topic为了避免名称冲突,那么也许下面的概念应被纳入了自己的包,您可以创建它的一个实例user,一个用于topic?
| 归档时间: |
|
| 查看次数: |
11352 次 |
| 最近记录: |