具有以下项目结构
D:\src\go\my-app
+ internal\
| + utils.go
+ main.go
+ go.mod有以下文件内容:
internal\utils.go
package internal
func GetText() string {
return "hello world"
}main.go
package main
import (
"fmt"
"example.com/my_app/internal"
)
func main() {
fmt.Println(GetText())
}go.mod
module example.com/my_app
go 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:这个问题是可重复的,不是由错误的错误假设引起的(在其他编程语言中,导入的项是按其名称访问的)。
发布于 2022-01-29 11:41:59
是的,问题很明显:
,
example.com/my_app/internal,但不使用它。如果你使用它,你的主板上就会有internal.<something>。GetText()不存在:主包中没有GetText()函数。解决方案:
将GetText()替换为internal.GetText()。现在使用了example.com/my_app/internal,在这个包中找到了GetText()。
https://stackoverflow.com/questions/70904909
复制相似问题