【Go言語】循環参照"import cycle"についてメモ
例
$GOPATH/src/foo/foo.go
package foo import "bar" func Foo() { println("foo.Foo") } func CallBar() { bar.Bar() }
$GOPATH/src/bar/bar.go
package bar import "foo" func Bar() { println("bar.Bar") } func CallFoo() { foo.Foo() }
buildしてみる
% cd $GOPATH/src/foo % go build can\'t load package: : import cycle not allowed package foo imports bar imports foo : import cycle not allowed package foo imports bar imports foo %
まとめ
AがBをimportして、BがAをimportしちゃだめ