错误“无法加载包:包 my_prog:找到包 my_prog 和 main" [英] Error "can't load package: package my_prog: found packages my_prog and main"

查看:28
本文介绍了错误“无法加载包:包 my_prog:找到包 my_prog 和 main"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的 GOPATH 中,我有这样的东西:

In my GOPATH I have something like this:

/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

main.go 我有 package main,在 d_interface.god_struct_that_implements_the_interface.go 我有打包 my_prog.

In main.go I have package main, in d_interface.go and d_struct_that_implements_the_interface.go I have package my_prog.

当我尝试 go build my_prog 时,我收到以下错误:

When I try to go build my_prog I get the following error:

can't load package: package my_prog: found packages my_prog (d_interface.go) and main (main.go) in C:devCodeGosrcmy_prog

这是否意味着属于 package main 的任何文件都应该放在自己的文件夹中?如果是,原因是什么?

Does this mean that any file that belongs to package main should go in its own folder? If so, what is the reason for this?

推荐答案

是的,每个包都必须在自己的目录中定义.

Yes, each package must be defined in its own directory.

源结构在如何编写Go代码中定义.

包是一个组件,你可以在多个程序中使用它,你可以发布、导入、从 URL 获取等等.所以它有自己的目录是有意义的,就像程序可以拥有的一样多一个目录.

A package is a component that you can use in more than one program, that you can publish, import, get from an URL, etc. So it makes sense for it to have its own directory as much as a program can have a directory.

这篇关于错误“无法加载包:包 my_prog:找到包 my_prog 和 main"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆