あが

Golangのファイルを分割して使いたい

の方法が上手く動かない。

$ tree
.
├── Agent
│   ├── cert.pem
│   ├── go.mod
│   ├── go.sum
│   ├── key.pem
│   └── main.go
├── join
│   ├── cert.pem
│   ├── join.exe
│   ├── join.go
│   └── key.pem
└── ldarp
    └── libdarp.go

のAgent/main.go と、join/join.goの中で、ldap/libdarp.goを使いたいんだけど、

import (
	"m/ldarp"
)

を、

import (
	"m/../ldarp"
)

とか

import (
	"m/./../ldarp"
)

とか試したみたんだけど、ダメ。

エラーコードに記載されているように、大人しく、
join.go:13:2: package m/ldarp is not in GOROOT (c:\go\src\m\ldarp)
のところに作れば動くんだろうけど、『負けたような気がする』ので、Agent/main.go と、join/join.goの中に、ldap/libdarp.goを埋めこむことで対応した。

ライブラリの二重管理になるけど、まあいいかな、と。

2022/10,江端さんの技術メモ

Posted by ebata