我在 的范围内有两个变量package main,它们是:var ( app Application cfg Config)现在,由于我的应用程序的大小开始增加,我决定将网站的每个模块放在自己的包中,就像一个子目录一样:/src/github.com/Adel92/Sophie + user/ (package user) - register.go - login.go - password.go + topic/ (package topic) - ... etc - main.go (package main)我怎么会去周围四处访问app,并cfg从其他包全局变量?这是错误的方法吗?我有一种感觉。在这种情况下,我怎么会在声明自己的命名空间功能,所以我没有发疯具有固定其名称user和topic所有的时间。
1 回答
UYOU
TA贡献1878条经验 获得超4个赞
大写的变量名导出为其他包访问,因此App
并Cfg
会工作。但是,通常不建议使用子包进行名称间距;包用于离散的、自包含的功能,因此以这种方式使用它们通常比使用它们更麻烦(例如,导入循环是绝对不可能的,因此如果您在此布局中有两个子包需要与之交谈彼此然后你就不走运了)。
如果你发现你需要用user
and前缀topic
来避免名称冲突,那么也许底层概念应该被考虑到它自己的包中,你可以创建它的一个实例 foruser
和一个 for topic
?
- 1 回答
- 0 关注
- 435 浏览
添加回答
举报
0/150
提交
取消