Go 言語の開発に伴い、開発に Go 言語を使用する人が増えています。プロジェクトの規模と複雑さが増すにつれて、コードをより適切に整理する必要があります。これが、Go 1.11 以降でモジュールの概念を導入した理由です。この記事では、Go モジュールを使用してプロジェクトと依存関係を管理する方法を紹介します。
1. Go モジュールとは
Go 言語では、パッケージはコード編成の基本単位です。関連する関数、変数、または型の定義のセットが含まれます。プロジェクトでは、多くのパッケージを使用することがあります。ただし、これらのパッケージのバージョンと依存関係を管理するのは非常に困難です。 Go 1.11 で導入されたモジュールは、この問題を解決するためのものです。
簡単に言うと、モジュールとは、ソース コード、依存関係、バージョン情報を含むコード パッケージのコレクションです。モジュールは、他のモジュールまたは独自のモジュールの他のバージョンを参照できます。
2. Go モジュールの使用方法
新しい Go モジュール プロジェクトを作成するには、それが作業環境にある必要があります。 directory 次のコマンドを実行します。
$ go mod init example.com/hello
このコマンドは、現在のディレクトリに新しいモジュールを作成し、example.com/hello
という名前を付けます。 Go が依存関係を解決する方法は、URL を介して依存関係を見つけることなので、モジュール名は一意である必要があります。
プロジェクトがすでに GOPATH
ディレクトリの外のディレクトリにある場合は、上記のコマンドを実行する前に環境変数 GO111MODULE=on# を設定する必要があります。以下:
$ export GO111MODULE=on
$ go get example.com/dependency
example.com から最新の
dependency パッケージを取得し、プロジェクトに追加します。このパッケージが他のパッケージに依存している場合、それらも自動的にダウンロードされます。
$ go get example.com/dependency@v1.1.0
v1.1.0 の
dependency パッケージをダウンロードします。
go.mod を変更するだけで済みます。 ファイル。できます。
dependency パッケージのバージョンを
v1.2.0 に切り替える場合は、
go.mod で手動で変更できます。 ファイル:
module example.com/hello require example.com/dependency v1.2.0
$ go mod tidy
go.sum から削除します。 ファイル項目。
$ go build
$ go test -v
$ git tag v1.0.0
次に、タグをリモート リポジトリにプッシュします:
$ git push --tags
他の人があなたのモジュールを使用したいときは、あなたのモジュールを依存関係として追加するだけです:
module example.com/using_hello require example.com/hello v1.0.0
前のセクションで説明したように、
go get コマンドを実行してモジュールをダウンロードできます。 つまり、Go モジュールは依存関係とバージョンを管理する簡単な方法を提供します。これはプロジェクトにより良い構造を提供し、コードの再利用性と保守性にも役立ちます。 Go モジュールを使用してプロジェクトを整理したことがない場合は、今すぐ始めてください。
以上がgolangモジュールの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。