Go パッケージの複数のソース ディレクトリ
Go では、複数のソース ディレクトリを含むパッケージの開発は、特に整理する場合に困難になることがあります。ユーザーのインポートの容易さを維持しながら、コード構造を変更できます。
複数のソース ファイルで同じパッケージ名を宣言するのは自然なことのように思えるかもしれませんが、ディレクトリが異なる場合、この方法はお勧めできません。 Go 言語仕様によれば、実装ではパッケージのすべてのソース ファイルが同じディレクトリに存在することが必要になる場合があります。同じパッケージから複数のディレクトリをインポートしようとすると、エラーが発生します:
error: redefinition of ‘mypackage’
複数のソース ディレクトリを宣言する代わりに、Go はいくつかの代替手段を提供します:
ファイル名の変更: フォルダー階層を模倣するようにファイル名を構造化します。
foo/foo1.go foo/bar/bar1.go foo/bar/bar2.go
の代わりに:
foo/foo1.go foo/bar-bar1.go foo/bar-bar2.go
要約すると、複数のソース ディレクトリにまたがって Go パッケージを開発することはお勧めできません。推奨されるアプローチには、ファイル名の変更、パッケージの分割、または内部パッケージの利用が含まれます。これらの代替手段を使用すると、適切なパッケージのインポートと可視性を確保しながら、コードを効果的に整理できます。
以上がインポート エラーを発生させずに複数のディレクトリにまたがる Go パッケージを整理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。