Go 的包结构在有效组织和管理代码方面发挥着至关重要的作用。为了深入研究包结构的原则和约定,让我们检查 $GOPATH 中的假设项目设置。
考虑以下项目目录:
$GOPATH/ src/ github.com/ username/ projectname/ main.go numbers/ rational.go real.go complex.go
1. “package.go”文件 - 误称
与误解相反,您不需要在每个包文件夹中都有一个名为 package.go 的文件。 Go 自动将包的目录确定为其包。例如,numbers文件夹中的文件都属于numbers包。
2.导入子包 - 正确方法
要将rational.go、real.go 和complex.go 文件导入到numbers.go 中,不应使用相对导入。相反,使用语法导入整个数字包:
import "github.com/username/projectname/numbers"
3。包层次结构和类型声明
在包内,您可以定义类型和函数。在这种情况下,您可以在 real.go 文件中声明 Real 类型,如下所示:
package numbers type Real struct { Number float64 }
通过遵循这些约定,您可以有效地组织 Go 代码并增强其可读性和可维护性。请记住,关键是导入包,而不是单个文件,并避免创建不必要的 package.go 文件。
以上是我应该如何在我的 Go 项目中构建包和导入?的详细内容。更多信息请关注PHP中文网其他相关文章!