首页 > 后端开发 > Golang > 如果没有GOPATH,如何在Go中导入本地包?

如果没有GOPATH,如何在Go中导入本地包?

Linda Hamilton
发布: 2024-12-17 12:19:25
原创
742 人浏览过

How Can I Import Local Packages in Go Without GOPATH?

在没有 GOPATH 的情况下导入 Go 本地包

在没有 GOPATH 的情况下,导入本地包需要超越传统方法的解决方案。根据所使用的 Go 版本,有多种选项可用。

使用 Vgo(Go 1.11 及更高版本)

Vgo 是 Go 版本 1.11 及更高版本推荐的依赖管理器。它利用允许自动依赖性解析和版本管理的“模块”系统。要使用 vgo:

export GO111MODULE=on  # Enable Go modules
go mod init  # Initialize the module
go mod vendor  # Download and install dependencies
go build  # Build the project
登录后复制

使用 Vendor(Go 1.6 到 Go 1.10)

Vendor 是一种手动依赖项管理技术,涉及在其中创建“供应商”目录该项目。外部包放在这个目录中,编译器在编译时会优先考虑它们。

使用手动导入(1.6 之前的 Go 版本)

对于早期的 Go 版本,手动导入可以通过以下方式实现:

  • 为本地创建子文件夹package.
  • 使用相对路径导入包,例如 import "./package1"。

目录结构

手动导入,项目目录结构应类似于以下:

myproject/
├── binary1.go
├── binary2.go
├── package1/
│   └── package1.go
└── package2.go
登录后复制

结论

不使用 GOPATH 导入本地包的具体方法取决于所使用的 Go 版本。虽然可以使用子文件夹直接导入,但 Go 模块 (vgo) 或供应商功能提供了更高级的依赖关系管理功能。

以上是如果没有GOPATH,如何在Go中导入本地包?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板