同じ名前の複数のライブラリとバイナリ
この質問では、同じ名前のライブラリとスタンドアロン バイナリを作成する可能性を検討します。 Tar コマンドライン ツールとそのライブラリ機能の例は、このシナリオを示しています。
最初に、ユーザーは次のディレクトリ構造を試みました:
src/ tar/ tar.go # belongs to package tar main.go # imports tar and provides a main function
しかし、これにより「コマンド" tarbin と呼ばれるものであり、目的の tar コマンドではありません。
これに対処するために、ユーザーは go を使用して出力バイナリ名を明示的に指定するという回避策を採用しました。 build -o $GOPATH/bin/tar tar.
レスポンダが提案するより洗練された解決策は、コードを次のように編成することです:
src/ tar/ tar.go # tar libary tar/ main.go # tar binary
この構造を使用すると、結果のバイナリは次のようになります。
コードが GitHub でホストされている場合、ディレクトリ構造は次のようになります。
src/ github.com/ you/ tar/ tar.go # tar libary tar/ main.go # tar binary
この構成により、go get install github.com/you/tar/tar と併用した場合に go コマンドでバイナリとライブラリの両方をインストールできることが保証されます。
利点このアプローチの特徴は、 go install ./....
を使用してプロジェクト内のすべてのコードをビルドしてテストできることです。以上がGo で同じ名前のライブラリとスタンドアロン バイナリを構築するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。