golangモジュールの使い方
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
- Publish module#モジュールを公開する準備ができたら、モジュールにタグを付ける必要があります。次のコマンドを実行します:
$ 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 サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









OpenSSLは、安全な通信で広く使用されているオープンソースライブラリとして、暗号化アルゴリズム、キー、証明書管理機能を提供します。ただし、その歴史的バージョンにはいくつかの既知のセキュリティの脆弱性があり、その一部は非常に有害です。この記事では、Debian SystemsのOpenSSLの共通の脆弱性と対応測定に焦点を当てます。 Debianopensslの既知の脆弱性:OpenSSLは、次のようないくつかの深刻な脆弱性を経験しています。攻撃者は、この脆弱性を、暗号化キーなどを含む、サーバー上の不正な読み取りの敏感な情報に使用できます。

この記事では、プロファイリングの有効化、データの収集、CPUやメモリの問題などの一般的なボトルネックの識別など、GOパフォーマンスを分析するためにPPROFツールを使用する方法について説明します。

この記事では、GOでユニットテストを書くことで、ベストプラクティス、モッキングテクニック、効率的なテスト管理のためのツールについて説明します。

Go Crawler Collyのキュースレッドの問題は、Go言語でColly Crawler Libraryを使用する問題を調査します。 �...

バックエンド学習パス:フロントエンドからバックエンドへの探査の旅は、フロントエンド開発から変わるバックエンド初心者として、すでにNodeJSの基盤を持っています...

この記事では、GOプログラミングのGo FMTコマンドについて説明します。これは、公式スタイルのガイドラインに準拠するためのコードをフォーマットします。コードの一貫性、読みやすさ、およびスタイルの議論を削減するためのGO FMTの重要性を強調しています。 Best Practices fo

Beegoormフレームワークでは、モデルに関連付けられているデータベースを指定する方法は?多くのBEEGOプロジェクトでは、複数のデータベースを同時に操作する必要があります。 Beegoを使用する場合...
