ホームページ >バックエンド開発 >Golang >改訂された Go プロジェクト構造で異なるディレクトリにあるモジュールにアクセスするにはどうすればよいですか?

改訂された Go プロジェクト構造で異なるディレクトリにあるモジュールにアクセスするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-26 03:58:15941ブラウズ

How to Access Modules Across Different Directories in a Revised Go Project Structure?

改訂された Golang プロジェクト構造でのモジュールへのアクセス

Go バージョン 1.11 以降、モジュール管理は大幅に変更されました。新しいプロジェクト構造内の別のディレクトリからモジュールを参照する方法を理解するために、フォルダーの設定を調べてみましょう。

\root\module1
\root\module2

各ディレクトリには go.mod ファイルが含まれており、これらのモジュールに正常にアクセスできます。ルートディレクトリ。ただし、module1 から module2 にアクセスするには、次の手順に従います。

古い方法

従来のアプローチでは、アクセスできるようにモジュールを GOPATH 環境変数に配置する必要があります。 GOPATH フォルダーは通常、次の構造になっています:

$GOPATH
├── bin
├── pkg
└── src
   ├── github.com
   └── other_imported_modules

import ステートメントを使用して、module1 の module2 から datastructs.go という名前のデータ構造ファイルをインポートできます:

import (
    "github.ibm.com/Alessio-Savi/GoLog-Viewer/datastructure"
)

新しい方法

モジュール管理への最新のアプローチには、 go mod init の使用が含まれますコマンド:

go mod init github.com/username/modulename

これにより、go.mod および go.sum ファイルが生成されます。 go.mod ファイルには依存関係が含まれており、go.sum には依存関係のハッシュが保存されます。たとえば、module2 の go.mod ファイルは次のようになります。

module github.com/username/module2

go 1.13

require (
    github.com/alessiosavi/ahocorasick v0.0.3
)

これで、module1 に module2 をインポートできます。

import (
    "github.com/username/module2"
)

このメソッドを使用すると、モジュールを使用せずにモジュールにアクセスできます。それらを公開するか、GOPATH に配置する必要があります。

以上が改訂された Go プロジェクト構造で異なるディレクトリにあるモジュールにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。