为什么Go中有包声明?

为什么Go中有包声明?,go,Go,为什么我们需要在文件夹中的每个文件中放置一个包声明,以将指定的.go文件标记为包的一部分 相反,目录名本身可以是它包含的所有文件的包名 那么,这一决定的意识形态意义何在 相反,目录名本身可以是它包含的所有文件的包名 Egor,您可能会假设在一个目录中,go文件只来自一个包 如果排除测试,则几乎是正确的 测试是规则“一个目录-一个包”的例外。目录名与包名无关,例如@JimB所说的包import“google.golang.org/api/oauth2/v2”导入oauth2包,并用作:oauth2

为什么我们需要在文件夹中的每个文件中放置一个包声明,以将指定的.go文件标记为包的一部分

相反,目录名本身可以是它包含的所有文件的包名

那么,这一决定的意识形态意义何在

相反,目录名本身可以是它包含的所有文件的包名

Egor,您可能会假设在一个目录中,go文件只来自一个包

如果排除测试,则几乎是正确的


测试是规则“一个目录-一个包”的例外。

目录名与包名无关,例如@JimB所说的包
import“google.golang.org/api/oauth2/v2”
导入
oauth2
包,并用作:
oauth2.New(…)
。或者几乎所有的
包main
我都知道它是无关的。但我的问题不是关于当前的实施。它是关于当前实现相对于旧的普通目录的优势。包main就像将主进程放入主文件夹一样简单。