Error "can't load package: package my_prog: found packages my
技术问答
326 人阅读
|
0 人回复
|
2023-09-12
|
在我的 GOPATH 中,我有这样的事:* M% k4 m% y- Y! n
/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.go
; y. l8 V( D$ U9 I, T6 V' z" u, m1 f 在main.go我package main,在d_interface.go和d_struct_that_implements_the_interface.go我有package my_prog。+ N' _/ r# p) Z/ B2 I$ q
当我尝试的时候,go build my_prog以下错误:
6 R2 ]3 _( N! V9 Qcan'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
- i; |+ H7 e3 F. C! B+ @ 这是否意味着任何文件都属于它?package main应该放在自己的文件夹里?如果是这样,原因是什么?
, Z( T9 L/ A1 r/ I7 M: ]
4 H7 I6 D' Y# J: @# U* r* A 解决方案:
- i1 F: P) H! U) O# ] 是的,每个包都必须在自己的目录中定义。
; E5 N4 c( `$ F! V) z如何编写源结构 Go 代码中的定义。( m G, ?! ^/ z9 x. W
这个包是一个组件,你可以在多个程序中使用它,你可以发布,导入,从 URL 获取等。因此,拥有自己的目录是有意义的,就像程序可以拥有目录一样。 |
|
|
|
|
|