我如何找到我的包裹?

时间:2012-05-15 12:35:16

标签: go

我应该把我的包装放在哪里,以便它可以被另一个包装进口?

$ 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

3 个答案:

答案 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"