15

別のパッケージでインポートできるようにするには、どこにパッケージを配置すればよいですか?

$ 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
4

3 に答える 3

11

GOPATH を設定します。パッケージ foo ソースを GOPATH/src/optional-whatever/foo/*.go に置き、コードで次のように使用します

import "optional-whatever/foo"

foo を明示的にインストールする必要はありませ。go ツールはビルド ツールであり、必要に応じて自動的にインストールされます。

于 2012-05-15T13:06:45.070 に答える
8

発生する必要があることがいくつかあります。最初に「テスト」パッケージをインストールする必要があります。

$ 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さまざまなエラーが表示されるはずです (たとえば、「インポートされ、使用されていません」)。

于 2012-05-15T12:45:47.067 に答える
-3

たぶん、test.goファイルをmain.goと同じディレクトリに置くことができ、test.goでは次のようなものを使用します:</ p>

import "./test"
于 2012-07-16T04:03:01.660 に答える