ホームページ  >  記事  >  バックエンド開発  >  Go インポート ループは許可されていません

Go インポート ループは許可されていません

PHPz
PHPz転載
2024-02-08 23:27:19678ブラウズ

不允许 Go 导入循环

php エディター Strawberry は、ここで重要なルールを紹介します。Go 言語では、ループのインポートは許可されていません。これは、Go コードを作成するときに、インポートされたパッケージ内で現在のパッケージを再度インポートすることはできないことを意味します。この規定は、循環依存の問題を回避し、コードの信頼性と保守性を確保することを目的としています。コードを作成するときに循環インポートの状況が発生した場合は、コード構造を再検討し、循環依存関係の発生を回避するためにリファクタリングが必要かどうかを検討する必要があります。このルールに従うことで、より堅牢で信頼性の高い Go コードを作成できます。

質問内容

私は go の初心者で、go を学んでいます。 model がデータベース エンティティであるこのフォルダー構造が必要です。 Controller はエンドポイントの場所です。 Service は実際の機能が実行される場所です。 (問題はフォルダー/パッケージ構造です)

リーリー

1 教師は 0..* コースを持つことができるため、教師パッケージをインポートすることで外部キーをここに実装しました

コース.モデル.ゴー リーリー

ここで、

course.service.goGetCoursesForFacultyID(id) という関数を実装するとします。 インポートサイクルの関係で、faculty.service では使用できません。どうすればこの問題を克服できるでしょうか?

学部->コース->学部

解決策

別のフォルダー構造を使用する必要があります

リーリー ###または### リーリー

以上がGo インポート ループは許可されていませんの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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