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"

相关文章

1、Golang指针 在介绍Golang指针隐式间接引用前,先简单说下...
1、概述 1.1 Protocol buffers定义 Protocol buffe...
判断文件是否存在,需要用到"os"包中的两个函数: os.Stat(...
1、编译环境 OS :Loongnix-Server Linux release 8.3 CPU指...
1、概述 Golang是一种强类型语言,虽然在代码中经常看到i:=1...
1、概述 在《Golang常用语法糖》这篇博文中我们讲解Golang中...