我们在很多语言中都有namespace的概念,
比如:typescript, java, go.
请问下是否同一个namespace可以存在于不同的目录下?
比如:
/aaa/bbb/ccc/有namespace-01
/xxx/yyy/zzz/有namespace-01
也就是说,namespace是跨域目录/文件而存在的。
我们在很多语言中都有namespace的概念,
比如:typescript, java, go.
请问下是否同一个namespace可以存在于不同的目录下?
比如:
/aaa/bbb/ccc/有namespace-01
/xxx/yyy/zzz/有namespace-01
也就是说,namespace是跨域目录/文件而存在的。
3 回答2.7k 阅读✓ 已解决
3 回答4.2k 阅读✓ 已解决
3 回答3.1k 阅读✓ 已解决
8 回答3.8k 阅读
4 回答2.8k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
namespace(命名空间)是一种用来有效组织和管理大型项目的方法,它的存在只是为了解决变量名相同的问题,并没有涉及到具体的文件或目录。因此,在同一个项目中,同一个namespace 可以在不同的目录下存在。
在 TypeScript 中,一个命名空间可以由多个文件组成,这些文件可以称为命名空间的“组成部分”,每个组成部分都包含在同一个命名空间中。在使用时,使用相同的命名空间名称作为每个组成部分的导入声明即可。
Java 中的包名(package)也类似于 TypeScript 中的命名空间,同一个包下可以有多个类文件,而且包名没有必要和文件夹名一致。
Go 语言中的包(package)也是用于管理大型项目的方法,同一个包可以由不同的文件组成,文件可以在不同的目录下。
所以,总的来说,同一个namespace 可以跨越目录存在。但是在具体使用时,还要遵循编程规范以及项目文件组织原则,以达到更好的工程管理效果。