Go でローカルパッケージをインポートする
Jay Singh
2023年1月30日
- Go のパッケージディレクトリ
- Go のメインパッケージ
-
Go で
go mod init
を使用してモジュールを初期化する - Go でパッケージを作成するためのソースコードファイルを配置する
-
Go で
import()
メソッドを使用してローカルパッケージをインポートする
Go のパッケージは、同じディレクトリにあるコンパイル済みの Go ソースコードファイルのコレクションです。
通常、これらのパッケージは、それらの間でコードをエクスポートおよびインポートします。その結果、コードはモジュール式であり、保守が容易です。
Go のパッケージディレクトリ
ワークスペースプロジェクトには、dir1
と dir2
の 2つのパッケージがあります。ファイルで生成された各ディレクトリは、パッケージディレクトリに含まれています。
└───workspace
├───dir1
├───dir2
Go のメインパッケージ
パッケージのコードは、任意のファイルからエクスポートできます。次に、他のプロジェクトファイルがそのパッケージディレクトリを参照してコードをインポートできます。
これにより、単一のパッケージをインポートして、そのパッケージに含まれるファイルに含まれるすべてのコードにアクセスできます。
// for files in dir1
package dir1
// for files in dir2
package dir2
Go で go mod init
を使用してモジュールを初期化する
パッケージをインポートするときの最初のステップは、新しいモジュールを作成することです。
構文:
go mod init <module_name>
たとえば、ワークスペースディレクトリの下で、次のように新しいモジュールを作成できます。
go mod init workspace
外部パッケージがないため、ファイルにはモジュール名と Go バージョンが含まれています。
module workspace
go 1.17
Go でパッケージを作成するためのソースコードファイルを配置する
プロジェクトに新しいディレクトリを作成し、その下にソースコードファイルを配置してパッケージを作成します。
$ touch dir1/dir1.go
$ touch dir2/dir2.go
これらの各ファイルにコードを追加してみましょう。
// dir1.go
package dir1
funcHello1() string {
return "Hello everyone, I am from dir 1"
}
//dir2.go
package dir2
funcHello2() string {
return "Hello everyone, I am from dir 2"
}
Go で import()
メソッドを使用してローカルパッケージをインポートする
最後のステップは、ローカルパッケージをインポートして、各パッケージのコードを使用することです。
プロジェクトのルートに main.go
ファイルを作成します。これはワークスペースディレクトリとも呼ばれます。
package main
import (
"fmt"
"workspace/dir1"
"workspace/dir2"
)
funcmain() {
fmt.Println(dir1.Hello1())
fmt.Println(dir2.Hello2())
}
出力:
Hello everyone, I am from dir 1
Hello everyone, I am from dir 2