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
モジュール 1:
module github.com/username/module1 require ( github.com/username/module2 v0.0.1 )
モジュール 2:
module github.com/username/module2 go 1.13
package main import ( "fmt" "github.com/username/module2" ) func main() { fmt.Println(module2.Name()) }
package module2 import "fmt" func Name() string { return "Module 2" }
これらの手順に従うことで、GOPATH 以外のディレクトリからモジュールを参照でき、Go プロジェクトでコードとモジュール性を再利用できるようになります。
以上がGOPATH の外部から Go モジュールを参照するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。