回答

收藏

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 Q
    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
    - 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 获取等。因此,拥有自己的目录是有意义的,就像程序可以拥有目录一样。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则