Golang如何导入没有gopath的本地包?

前端之家收集整理的这篇文章主要介绍了Golang如何导入没有gopath的本地包?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用GOPATH,但对于这个当前的问题,我面对它没有帮助。我想要能够创建特定于项目的包:
myproject/
├── binary1.go
├── binary2.go
├── package1.go
└── package2.go

我尝试了多种方式,但我如何得到package1.go工作在binary1.go或binary2.go等等?

例如;我想能够导入“package1”,然后能够运行go build binary1.go,一切正常,没有错误被抛出,该软件包找不到GOROOT或GOPATH。我需要这种功能的原因是大型项目;我不想参考多个其他包或将它们保存在一个大文件

虽然我的旧方式工作,不再是“正确的”方式做到这一点。您应该使用默认情况下在Go 1.6中启用的供应商功能;您基本上在供应商目录中添加您的“外部”或“依赖”包;在编译时,编译器将首先使用这些包。

找到。我可以导入本地包与GOPATH通过创建package1的子文件夹,然后导入与import1.go和binary2.go脚本中导入“./package1”,像这样:

binary1.go

...
import (
        "./package1"
      )
...

所以我当前的目录结构看起来像这样:

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

我还应该注意,相对路径(至少在go 1.5)也工作;例如:

import "../packageX"

猜你在找的Go相关文章