Go 中的相对导入:演练
Go 允许相对导入,使您能够从同一父目录导入包。但是,不鼓励这种方法,因为它可能会导致歧义并违背推荐的代码组织实践。
相反,建议使用绝对路径或完全限定的包名称导入包。操作方法如下:
使用绝对路径
将 Go 包放在公共根目录下,例如 $GOPATH/src。然后,您可以使用绝对路径从该根目录导入包,例如:
import "github.com/user/my-project/pkg/utils"
使用完全限定的包名称
您还可以使用完全限定的包名称从同一项目中的不同目录导入包:
import ( "github.com/user/my-project" "github.com/user/my-project/pkg/utils" )
最佳实践
根据 Go 编码风格指南,每个包应该有一个唯一的导入路径。建议在项目外部导入包时使用绝对路径,在同一项目内导入包时使用完全限定的导入路径。这确保了清晰度并避免导入歧义。
结论
虽然相对导入在 Go 中在技术上是可行的,但由于潜在的歧义和缺乏支持,不应使用它们。通用代码组织实践。相反,采用推荐的方法,使用绝对或完全限定的包名称来导入包。
以上是我应该在 Go 中使用相对导入吗?的详细内容。更多信息请关注PHP中文网其他相关文章!