ホームページ  >  記事  >  バックエンド開発  >  golang の go.mod で再帰的置換を正しく使用するにはどうすればよいですか?

golang の go.mod で再帰的置換を正しく使用するにはどうすればよいですか?

WBOY
WBOY転載
2024-02-08 23:50:36593ブラウズ

如何在 golang 的 go.mod 中正确使用递归替换?

golang の go.mod を使用する場合、再帰的置換を正しく使用することが重要な問題になります。 PHP エディター Yuzai がいくつかの解決策を提供します。再帰的置換とは、開発中のデバッグや変更のために、モジュールを go.mod ファイル内のローカル ディレクトリに置き換える方法を指します。ただし、交換したモジュールが他のモジュールに依存している場合、問題が発生する可能性があります。再帰的置換を正しく使用すると、これらの問題を回避し、プロジェクトの依存関係を適切に機能し続けることができます。この記事では、go.mod で再帰的置換を正しく使用する方法について説明し、いくつかの実用的なヒントと考慮事項を提供します。

質問内容

次のようなプロジェクト構成にしたいです:

リーリー

これは機能しません。 Jetbrains の IDE を使用すると、すべての (サブ) モジュールで go list が実行され、次のエラーが表示されます:

リーリー

なぜこれが起こっているのかわかりません。すべてがローカルで置き換えられているにもかかわらず、リポジトリからモジュールを取得しようとしているようです。 プロジェクト構造の変更以外の提案も歓迎します。将来的には account.sometype などを使用できるようにする必要があるため、すべてを 1 つのファイルに入れるのは面倒です。

コンテキスト: 各「リクエスト」/「クラス」が独自の名前空間 (例: 「アカウント」、「チャネル」) (またはグローバル空間に名前が付けられている、tl モードを持つテレグラム用の mtproto ライブラリを構築しています。たとえば、それに応じて functionstypes を使用します) (これらの関数/クラスが 1900 以上あり、それぞれに独自のコンストラクターとパラメーターがあるため、すべてを 1 つのモジュールに入れるのは使いにくくなります)

tl フォルダー内のファイルは、tl モードから自動的に生成された go コードです。

回避策

複数のパッケージ (どのように?) を 1 つのモジュールに含めることができることをご指摘いただき、Dean に感謝します。同じ構造を維持しながら、私の問題を解決しました。

以上がgolang の go.mod で再帰的置換を正しく使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。