我应该把我的包放在哪里,以便它可以被另一个包导入?
$ 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
我应该把我的包放在哪里,以便它可以被另一个包导入?
$ 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
设置你的 GOPATH。将您的包 foo 源代码放入 GOPATH/src/optional-whatever/foo/*.go 并在代码中使用它
import "optional-whatever/foo"
您不需要显式安装 foo,go 工具是一个构建工具,它会在必要时自动为您完成。
有几件事需要发生。您必须先安装“测试”包:
$ 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
会为您创建。一旦你安装了测试包(通常是一个坏名字,顺便说一句)go build main.go
现在应该给出不同的错误(例如,“导入和未使用”)
或许,你可以把 test.go 文件和 main.go 放在同一目录下,在 test.go 中,它使用这样的东西:</p>
import "./test"