子包中的可见性

时间:2012-02-15 17:58:49

标签: package visibility go

从子包到其根包的成员的可见性如何?

这就是我的意思:

foo          // the "root" package
foo/utils    // a sub-package
foo/tools    // another sub-package

可以foo访问foo/utilsfoo/tools的私人成员,还是将其作为独立的独立包进行操作?

1 个答案:

答案 0 :(得分:14)

Go没有子目录或子包的概念。包裹彼此分开。导入路径"foo/utils"只是一个导入路径(如何查找包的方法) - 除了在本地磁盘上定位包之外,字符串"foo/utils"没有任何意义或在互联网上。

foo无法访问foo/utils的私人成员。

在Go1中,源树中的每个目录都对应一个包。有关这方面的更多信息,请访问:the go command