在 Go 中,本地导入用于从同一目录或子目录导入包当前工作目录。但是,当导入非本地包时,无法应用此技术,如错误“local import "./greeting" in non-local package.”
为了理解错误,让我们检查提供的文件结构:
/Users/clarkj84/Desktop/LearningGo └── src └── jacob.uk.com ├── greeting │ └── greeting.go └── helloworld.go
尝试执行 go install 时出现问题src 目录中的 jacob.uk.com。此命令尝试安装 jacob.uk.com 软件包,其中包括 helloworld.go 中的 ./greeting 导入。然而,Go 将此解释为本地导入,因为它是从 src 目录执行的,而包本身并不位于 src 内。
要解决该错误,有两个选项可用:
import "jacob.uk.com/greeting"
这种方法允许导入和使用包,而不管工作目录如何。
绝对导入比本地导入有几个优点:
以上是为什么导入非本地Go包时'本地导入”失败?的详细内容。更多信息请关注PHP中文网其他相关文章!