Go的内部包到底是怎么用的?
我的工程目录是这样的:
/project
/src
/dboperator
/internal
/driver
/logger
/session
...
按官方的说明,driver包只能被/project/src/dboperator这里的包导入,像logger和session这样的包就不能导入,可以实际情况是logger和session导入了driver包之后一样可以正常编译,请问内部包究竟是怎么用的????是我没看明白的官方的描述和例子吗???
共 4 个回复
jikai507
已解决~把pkg目录删除掉重新编译了一下就OK了~~~
stevewang
你用的是go1.5吗?
我这里没问题,外部包引用非法内部包会提示
imports xxx/xxx/xxx: use of internal package not allowed
ggenien
在LiteIDE,编译的时候,选ForceBuild,也许就可以了。有时候只是信息未更新。
bigwhite
目前internal(go 1.5)机制依旧有一个bug,见:https://github.com/golang/go/issues/12217
需要到go 1.6才能fix掉。