2017-03-22 10 views
-2

私がGoでプログラムするのが難しいことの1つは、メインモジュールで別々にインポートしたいモジュールを入れなければならないということですディレクトリ、さらにはsrcディレクトリが必要です。メインモジュールと同じディレクトリにあるファイルをインポートする方法はありますか?同じディレクトリにあるファイルをインポートする

現在のディレクトリのレイアウト:

main.go 
lib.go 

そして、まだコンパイラは喜んlib.goを見つけます

main.go 
src/lib/lib.go 

に今、私は私が持っているのが大好きだ何import "lib"

を行うことができます。

+5

ファイルをインポートしないで、パッケージをインポートします。だから、あなたが "愛している"ことは、可能ではないでしょう。 – zerkms

+0

あなたがGoプロジェクトに 'src'ディレクトリを持っていなければならないということを知っているルールはありません。あなたのGoプロジェクトが生きているはずの' $ GOPATH'にsrcディレクトリがありますが、あなたのプロジェクトのディレクトリ...あなたはあなたが望むものを呼ぶことができます。 – mkopriva

+0

最後の2行はうまく動作します。libの内容をpkgに入れて、関数を直接呼び出して、うれしく思います。別のpkgが必要な場合は、それをフォルダに入れます。 –

答えて

0

これは、あなたがしたいレイアウトです:

main.go 
lib.go 

そしてそれは問題ありません。 Goでは、このようなファイル構造を持つことができます。そして、多くのGoプログラムによって使用されています。しかし、両方ともpackage mainと定義する必要があります。なぜ尋ねたら?それは言語仕様なので。 Goの発明者はそのように定義した。

ここで良いことは、goコンパイラがこれら2つのファイルがパッケージmainに属していることを知っているからです。何もインポートする必要はありません。

関連する問題