在 Go Modules 模式下不支持相对导入路径。Go Modules 要求使用绝对导入路径来导入包,相对导入路径是不被允许的。
Go Modules(模块)使用go.mod 文件是管理项目的依赖关系和版本控制。
go.mod 文件包含以下信息:
- 模块路径:第一行指定了模块的路径,即项目在代码仓库中的唯一标识符。例如:
module github.com/your-username/your-project。 - 依赖列表:
go.mod文件中列出了项目的直接依赖项及其版本。每个依赖项由其模块路径和版本号组成。例如:require github.com/some-package v1.2.3。 - 替代品:在某些情况下,您可能需要使用替代品来代替某个依赖项。
go.mod文件中的replace部分允许您指定替代品的路径和版本。例如:replace github.com/some-package => ../local/some-package。 - 状态和版本信息:
go.mod文件还包含有关当前模块的状态信息,例如最后一次修改的时间戳以及使用的 Go 版本。
通过编辑和更新 go.mod 文件,可以添加、更新或删除依赖项,指定依赖项的版本,并管理项目的模块化开发。
如果没有go.mod文件,可以通过命令
go mod init 项目标识符
其中的项目标识符即是自定义的项目名。导入项目中的包时就以 项目标识符/文件夹/包 来导入。
例如在文件结构
myproject/
├── main.go
└── utils/
└── helper.go
在main.go中想使用隶属于包utils(在helper'.go文件中指定隶属于包的名字为utils)下helper.go中的开放函数、结构体等,可以使用如下代码导入
import "项目标识符/utils"
GoModules模式下禁止使用相对导入,要求使用绝对路径。go.mod文件用于管理模块的依赖关系,包括模块路径、依赖列表、替代品和状态信息。通过编辑此文件可管理依赖。若无go.mod文件,可通过`gomodinit`命令创建。例如,在项目myproject中,导入utils包需使用`import项目标识符/utils`。
1397

被折叠的 条评论
为什么被折叠?



