当前位置: 首页 > 面试题库 >

错误“无法加载软件包:软件包my_prog:找到软件包my_prog和main”

卫梓
2023-03-14
问题内容

在我的GOPATH中,我有类似以下内容:

/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.gopackage main,在d_interface.god_struct_that_implements_the_interface.go我有package my_prog

当我尝试go build my_prog出现以下错误时:

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

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


问题答案:

是的,每个程序包必须在其自己的目录中定义。

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

包是可以在多个程序中使用,可以发布,导入,从URL获取等的组件。因此,使其具有自己的目录和程序可以具有的目录一样多是有意义的。



 类似资料:
  • 问题内容: 我使用的图像是基于。在附加到Docker容器的外壳上 我想这样做,所以我尝试安装但无法找到该软件包: 我们如何从该映像进行安装,为什么会丢失它? 猫/etc/apt/sources.list 猫/etc/apt/sources.list.d/* apt-cache麦迪逊git 问题答案: 发生这种情况是因为apt储存库尚未更新,通常的做法是在创建映像后清理apt储存库和tmp文件,而基

  • 问题内容: 我刚刚通过MacPorts安装了py27-numpy软件包,当我使用以下命令时,python将找不到该模块: 我使用了该命令,scipy端口没有出现。 显然,该路径配置不正确,或者MacPorts没有安装在正确的位置,但是无论哪种方式,知道此软件包的安装位置都可以解决我的问题。 在哪里可以找到MacPorts安装的软件包py27-scipy的路径? 命令输出: /Library/Fra

  • 问题内容: 所以我刚刚安装了Ubuntu,这是我第一次在Linux环境中工作,所以请耐心等待。 无论如何,我直接从Oracle下载了Java 8 JDK,但我知道也有一个适用于Java 8的OpenJDK。我有两个问题。 Oracle版本和OpenJDK有什么区别。优点缺点? 当我尝试获取OpenJDK 8时,我做不到。我正在粘贴终端命令和到达此处的错误消息,以寻求建议。再说一次,对于Linux来

  • 问题内容: 当我尝试使用安装npm时,出现以下错误: E:无法找到软件包npm 为什么找不到npm?我正在使用Debian 9并且已经运行了 问题答案: 从官方的Node.js文档中: Node.js软件包在Debian Sid(不稳定),Jessie(测试)和Wheezy(wheezy-backports)的官方存储库中也以“ nodejs”的形式提供。 它仅安装nodejs二进制文件。 因此,

  • Tazpkg - 软件包管理器 Slitaz提供一个小型软件包管理器,它能轻易在系统里安装许多软件。Tazpkg是一个由SHell脚本写的轻量级的软件包管理器,能安 装.tazpkg文件。它能在Busybox、ash shell和bash中正常运行。Tazpkg可以让你列出软件包列表、安装软件包、删除软件包、下载软件包、解压软件包、打包软件包、查找软件包或者取 得有关可用软件包或所有已安装软件包的

  • 问题内容: 当我尝试从虚拟环境中卸载时,我看到它也尝试卸载更多软件包: 我想卸载 只 和没有别的降级。 我知道这些软件包都 依赖 于熊猫甚至 特定版本 的panda,但这完全可能吗? 部分动机 我的理解是,使用来从GitHub安装软件包并不容易。至少它不像使用单线纸那样容易。 由于我想在中使用该版本,因此我的计划是卸载该版本,并使用从正式仓库GitHub上的master安装。 我怎样才能做到这一点