要するにpakageAがpakageBをみてpakageBがpakageAを見ると循環参照になりコンパイルエラーになる。
これでテストコードを書くときにハマった。
package logic
import (
"###/logic"
)
func AAA() {
}
pakage logic_test
import (
"###/logic"
)
func TestAAA (t *testing.T) {
}
↑は動く
package logic
import (
"###/logic"
)
func AAA() {
}
パッケージを同じにしよう。
importの###/logic
は 必要ないから _
で握りつぶして…
pakage logic
import (
_ "###/logic"
)
func TestAAA (t *testing.T) {
}
循環参照です!!
_
って握りつぶしているだけで、import自体は行っているため、循環参照となるよう。
コメントアウトするか、importするパッケージを消す。
単純なことだが、結構ハマった。
↓正しい形
pakage logic
import (
// "###/logic"
)
func TestAAA (t *testing.T) {
}