首页 >后端开发 >Golang >为什么 Go 返回'非本地包中的本地导入”错误,如何解决?

为什么 Go 返回'非本地包中的本地导入”错误,如何解决?

Patricia Arquette
Patricia Arquette原创
2024-12-13 19:34:23310浏览

Why Does Go Return a

Go 包中的本地导入

Go 中,import 语句用于导入包。包用于将代码组织成逻辑单元。导入包时,可以使用本地导入或非本地导入。

本地导入从当前工作目录导入包。非本地导入从另一个目录导入包。

错误

以下是文件结构:

.
├── bin
│   └── hello
├── pkg
└── src
    └── jacob.uk.com
        ├── greeting
        │   └── greeting.go
        └── helloworld.go

具有以下GOPATH:

/Users/clarkj84/Desktop/LearningGo

如果在src中执行以下命令文件夹:

/usr/local/go/bin/go install jacob.uk.com

您将收到以下错误:

local import "./greeting" in non-local package

出现此错误是因为您在非本地包中使用本地导入。

解决方案

要修复此错误,可以将工作目录更改为 src/jacob.uk.com,然后执行 go install 而无需指定包。如果您有一个包含以下内容的 helloworld.go 文件:

package main

import "./greeting"

func main() {

}

您将收到一条编译错误,指出“已导入但未使用”。一旦您使用导入的greeting包中的某些内容,它就应该编译。

但是,不建议使用本地导入。相反,您应该使用以下导入语句:

import "jacob.uk.com/greeting"

通过使用此导入语句,您将能够从任何地方编译、运行和安装代码。

以上是为什么 Go 返回'非本地包中的本地导入”错误,如何解决?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn