首页 >后端开发 >Golang >如何在不使用GOPATH的情况下导入Go本地包?

如何在不使用GOPATH的情况下导入Go本地包?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-18 16:27:12254浏览

How Can I Import Local Packages in Go Without Using GOPATH?

导入不带 GOPATH 的本地包

导入不带 GOPATH 的本地包可以通过以下步骤实现:

Go 依赖管理摘要:

在继续之前,需要注意的是,首选的 Go 依赖管理方法取决于所使用的 Go 版本:

  • vgo 适用于 Go 版本 1.11 及更高版本
  • Go 版本 1.6 到 的 dep 或供应商1.10
  • Go 1.6 以下版本的手动方法

vgo (Go 1.11 及以上):

  1. 设置 GO111MODULE 环境变量到“开”。
  2. 运行“go mod init”来初始化项目的模块。
  3. 运行“go modvendor”(如果有vendor目录,它会自动集成)。
  4. 使用“go”构建项目构建”。

供应商(Go 1.6 和上面):

在项目中创建一个“vendor”目录并将依赖包放置在其中。编译后,编译器将优先考虑供应商目录中的包。

发现:使用子文件夹(GOPATH)导入本地包

要使用 GOPATH 和子文件夹导入本地包:

  1. 为要导入的包创建一个子文件夹(例如, “package1”)。
  2. 使用以下语法导入包:在依赖的 Go 脚本(例如,binary1.go、binary2.go)中导入“./package1”。

项目结构示例:

myproject/
├── binary1.go
├── binary2.go
├── package1/
│   └── package1.go
└── package2.go

其他注意:

  • 相对路径也可以用于导入(例如 import "../packageX")。
  • 对于大型项目,建议使用用于依赖管理的 vgo、dep 或供应商,因为它们提供自动依赖处理和隔离。

以上是如何在不使用GOPATH的情况下导入Go本地包?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn