为了账号安全,请及时绑定邮箱和手机立即绑定

使用子/子包构建包结构

使用子/子包构建包结构

Go
慕仙森 2021-05-06 14:05:17
我正在尝试在Go中创建一个简单的计算器。我在设计它时可以先构建一个命令行界面,然后轻松地在GUI界面中进行交换。项目位置为$GOPATH/src/gocalc(此后所有路径均相对于项目位置)。命令行界面逻辑存储在一个文件中gocalc.go。计算器逻辑存储在文件calcfns/calcfns.go和中operations/operations.go。除了主程序之外,所有文件的软件包名称均与其文件名(无扩展名)相同gocalc.go。package maincalcfns.gooperations.go通过进口import "gocalc/operations"; 通过gocalc.go进口calcfns.goimport "gocalc/calcfns"总结一下:$GOPATH/src/gocalc/operations.gopackage operationscalcfns.gopackage calcfnsimport "gocalc/operations"package mainimport "gocalc/calcfns"gocalc.gocalcfns/operations/当我尝试go build operations(从项目目录)时,得到响应:can't load package: package operations: import "operations": cannot find package 当我尝试时go build gocalc/operations,我得到can't load package: package gocalc/operations: import "gocalc/operations": cannot find package 当我尝试时go build operations/operations.go,它可以正常编译当我尝试操作go build calcfns或时go build gocalc/calcfns,会收到can't load package...类似于操作中的消息。但是,当我尝试构建calcfns/calcfns.go它时,会在import语句上出现问题:import "gocalc/operations": cannot find package最后,当我go build .从项目目录尝试时,它与上一段类似,令人窒息:import "gocalc/calcfns": cannot find package如何go build以不会失败的方式构造子包和/或导入语句?
查看完整描述

2 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

请尝试添加的输出$ go env以提供更多线索。否则,目录结构和(如图所示)import语句都看起来不错。

但是这句话

当我尝试进行构建操作(从项目目录)时,得到以下响应:无法加载包:包操作:导入“操作”:找不到包

听起来很奇怪。似乎暗示您有

package operations

import "operations"

在“ operations.go”中,那将是元凶……?


查看完整回答
反对 回复 2021-05-31
  • 2 回答
  • 0 关注
  • 159 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信