我应该把我的包装放在哪里,以便它可以被另一个包装进口?
$ tree
.
├── main.go
└── src
└── test.go
1 directory, 2 files
$ cat src/test.go
package test
$ cat main.go
package main
import "test"
$ go build main.go
main.go:3:8: import "test": cannot find package
答案 0 :(得分:8)
有一些事情需要发生。您必须先安装“test”软件包:
$ export GOPATH=$(pwd) # Assumes a bourne shell (not csh)
$ mkdir src/test
$ mv src/test.go src/test/test.go
$ mkdir pkg # go install will put packages here
$ go install test # build the package and put it in $GOPATH/pkg
$ go build main.go
请注意,没有必要创建pkg,因为go install
会为您执行此操作。
一旦安装了测试包(通常是坏名称,BTW)go build main.go
现在应该给出不同的错误(例如,“导入和未使用”)
答案 1 :(得分:8)
设置你的GOPATH。把你的包foo源放在GOPATH / src / optional-whatever / foo / *。去并在代码中使用它
import "optional-whatever/foo"
你不需要显式安装foo,go工具是一个构建工具,它会在必要时自动为你做。
答案 2 :(得分:-4)
也许,您可以将test.go文件放在与main.go相同的目录中,并且 在test.go中,它使用类似这样的东西:
import "./test"