Error "can't load package: package my_prog: found packages my
技术问答
327 人阅读
|
0 人回复
|
2023-09-12
|
在我的 GOPATH 中,我有这样的事:
& v3 n2 ~6 Z( ?+ h1 {, j) X& h! l9 g/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.go1 h, N6 A, p i5 C; N1 a7 E2 z
在main.go我package main,在d_interface.go和d_struct_that_implements_the_interface.go我有package my_prog。
# r) x7 G, a' ?: v当我尝试的时候,go build my_prog以下错误:
, J( n+ Y6 H8 x' ?9 Scan'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' C' c T# R# R) U/ x
这是否意味着任何文件都属于它?package main应该放在自己的文件夹里?如果是这样,原因是什么?& O8 H" V4 x {* W+ w2 I
! [' Q2 _% X5 m- `
解决方案:
: f# T. O; A C/ h% E 是的,每个包都必须在自己的目录中定义。
& p5 M7 u) p u6 X4 U. L. @/ \, f" \如何编写源结构 Go 代码中的定义。
$ j! ]" u6 R: L4 s5 k; ^这个包是一个组件,你可以在多个程序中使用它,你可以发布,导入,从 URL 获取等。因此,拥有自己的目录是有意义的,就像程序可以拥有目录一样。 |
|
|
|
|
|