$GOPATH外でGOプロジェクト作成時にプロジェクト内で作成したパッケージをimportする方法。
プロジェクトツリーは、
/project/ app/ main.go mylib/ mylib.go
のような構成で、main.goから
import "mylib"
のように利用したい場合。
go modulesを利用することで、$GOPATHに配置することなく利用することができます。
go mod initの実行
/project
に移動し、
$ go mod init project
を実行する。すると、go.mod
ファイルが作成され、
module project
と、module用のnamespaceが定義される。また、名称は特にディレクトリの名前と同じでなくてもいいもよう。
アプリケーションファイルからのimport
上記の例でいうと、main.go
で
import "project/mylib"
とmodule pathを指定した形でimportすると依存パッケージとしてbuildすることができる。