显而易见的答案是文件块包含文件的 Go 源文本,包块包含包的 Go 源文本。一个包是由一个或多个源文件构建的。规格: 包装:Go 程序是通过将包链接在一起构建的。一个包又是由一个或多个源文件构成的,这些源文件一起声明属于该包的常量、类型、变量和函数,并且可以在同一包的所有文件中访问。的确,无论源代码如何在其文件之间“分布”,一个包总是作为一个单元处理,但有些结构是“文件范围的”。规范:声明和范围:Go 的词法范围是使用块:[...]3. 导入包的包名称的范围是包含导入声明的文件的文件块。最明显的是进口申报。如果一个包由多个文件组成,并且您在一个文件中导入另一个包,则不能在另一个文件(同一包的)中使用它。另一个重要的构造是构建约束。放置在源文件中的构建约束仅适用于给定文件,而不适用于同一包中的其他文件。