Error "can't load package: package my_prog: found packages my
技术问答
282 人阅读
|
0 人回复
|
2023-09-12
|
在我的 GOPATH 中,我有这样的事:
- P! v c% L M, L% R. p1 \/bin//pkg//src//src/my_prog//src/my_prog/main.go/src/my_prog/d_interface.go/src/my_prog/d_struct_that_implements_the_interface.go5 T4 ~0 M, A# F* [7 e) c
在main.go我package main,在d_interface.go和d_struct_that_implements_the_interface.go我有package my_prog。# P" j, W& ?( s3 p6 F$ U& v* B* Y
当我尝试的时候,go build my_prog以下错误:9 _8 N3 F3 u" u6 a: L" n f0 J5 C
can't load package: package my_prog: found packages my_prog (d_interface.go) and main (main.go) in C:\dev\Code\Go\src\my_prog( V- t! @+ {) D' ^
这是否意味着任何文件都属于它?package main应该放在自己的文件夹里?如果是这样,原因是什么?
1 V0 y! \1 E6 h7 ]
: A1 f9 `- U Q& O: x2 b. \ 解决方案:
- U) ^* l' X; ?5 l0 v3 Y 是的,每个包都必须在自己的目录中定义。
: e3 m! j2 O9 g4 m! p- R \如何编写源结构 Go 代码中的定义。
- Z( c1 D, E- T$ [# z3 Q2 V- N6 B这个包是一个组件,你可以在多个程序中使用它,你可以发布,导入,从 URL 获取等。因此,拥有自己的目录是有意义的,就像程序可以拥有目录一样。 |
|
|
|
|
|