欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

golang 引用相对路径package

程序员文章站 2022-05-09 22:55:39
...

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的话,那是否导入的包爷得重新改写?