ホームページ > バックエンド開発 > Golang > GOPATH の外部から Go モジュールを参照するにはどうすればよいですか?

GOPATH の外部から Go モジュールを参照するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-27 20:27:15
オリジナル
600 人が閲覧しました

How Do I Reference Go Modules from Outside the GOPATH?

非 GOPATH ディレクトリからのモジュールの参照

Go 1.11 での Go モジュールの導入により、非 GOPATH ディレクトリからのモジュールとパッケージの参照に変更が導入されました。

古いWay

従来、Go モジュールは GOPATH 内に存在する必要がありました。このディレクトリ内のモジュールとパッケージは、次の構文を使用してインポートできます:

import (
    "github.com/username/modulename/subpackage"
)
ログイン後にコピー

新しい方法

Go モジュールでは、このアプローチが変わりました。パッケージは GOPATH の外に常駐できるようになりました。別のディレクトリからパッケージを参照するには:

モジュールの初期化

go mod init コマンドを使用して新しいモジュールを初期化します:

go mod init github.com/username/modulename
ログイン後にコピー

これにより go.mod と go が作成されます現在のディレクトリ内の .sum ファイル。

インポート ステートメント

インポート ステートメントを使用して参照します。他のディレクトリからのパッケージ。たとえば、Module2 が /root/module2 にあり、module2 という名前のパッケージが含まれている場合、Module1 のインポート ステートメントは次のようになります。

import (
    "github.com/username/module2"
)
ログイン後にコピー

ファイル構造

次のファイル構造を想定します。 :

\root
└── module1
    ├── go.mod
    └── main.go

└── module2
    ├── go.mod
    └── module2.go
ログイン後にコピー

go.modファイル

モジュール 1:

module github.com/username/module1

require (
    github.com/username/module2 v0.0.1
)
ログイン後にコピー

モジュール 2:

module github.com/username/module2

go 1.13
ログイン後にコピー

main.go (モジュール 1)

package main

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

func main() {
    fmt.Println(module2.Name())
}
ログイン後にコピー

module2.go (Module2)

package module2

import "fmt"

func Name() string {
    return "Module 2"
}
ログイン後にコピー

これらの手順に従うことで、GOPATH 以外のディレクトリからモジュールを参照でき、Go プロジェクトでコードとモジュール性を再利用できるようになります。

以上がGOPATH の外部から Go モジュールを参照するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート