具有以下项目结构D:\src\go\my-app + internal\ | + utils.go + main.go + go.mod具有以下文件内容:internal\utils.go:package internalfunc GetText() string { return "hello world"}main.go:package mainimport ( "fmt" "example.com/my_app/internal")func main() { fmt.Println(GetText())}go.mod:module example.com/my_appgo 1.17从目录运行时出现以下编译错误:D:\src\go\my-app>go build# example.com/my_app.\main.go:5:2: imported and not used: "example.com/my_app/internal".\main.go:9:14: undefined: GetText任何想法,可能是什么问题?PS:这个问题是可重现的,不是由拼写错误引起的,而是由错误的假设引起的(在其他编程语言中,导入的项目是通过它们的名称访问的)。
1 回答
蓝山帝景
TA贡献1843条经验 获得超7个赞
是的,问题很明确:
您导入
example.com/my_app/internal
但不使用它。如果您使用它,那么internal.<something>
您的主目录中就会有某个地方。GetText()
不存在:GetText()
您的主包中没有功能。
解决方案:
替换GetText()
为internal.GetText()
。现在example.com/my_app/internal
使用并GetText()
在此包中找到。
- 1 回答
- 0 关注
- 83 浏览
添加回答
举报
0/150
提交
取消