golang 引用相对路径package

Posted soundcode

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 引用相对路径package相关的知识,希望对你有一定的参考价值。

My $GOPATH is

"/Users/peter/goworkspace"

Golang 版本是:

go version go1.6 darwin/amd64

在这个workspace下我有多个不同golang项目,目录结构类似于

+/goworkspace  
  +---/bin  
  +---/pkg  
  +---/src  
    +---/project1
        +---package1 
           +---file1.go 
           +---file2.go 
           +---file3.go 
        +---package2 
        +---package3 
        +---main.go 
    +---/project2
    +---/project3

在proj1下的main.go中,我用相对路径的方式引用了proj1下的其它package

import(  
     "./package1"      
     "./package2"      
     "./package3"
 )  

但是当我 run go build的时候,go编译器一直提示报错:

" can‘t load package: local import "../package" in non-local package“

我尝试不用相对路径引入package的话

import(
    "project1/package1"  
    "project1/package2"   
    "project1/package3"   
)  

就能编译成功。

所以,我第一个main.go中为什么会编译出错呢?
如果不引用相对路径导入包的话,那如果我以后重命名这个project的话,那是否导入的包爷得重新改写?

以上是关于golang 引用相对路径package的主要内容,如果未能解决你的问题,请参考以下文章

Golang-go mod 导入本地包

windows从0开始学golang

golang build 的简单用法.(菜鸟初学)

python - packages

如何在golang中使用LDFLAGS的相对路径

DLLImport引用的dll的路径能写成相对路径吗