>백엔드 개발 >Golang >Go가 '로컬이 아닌 패키지의 로컬 가져오기' 오류를 반환하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Go가 '로컬이 아닌 패키지의 로컬 가져오기' 오류를 반환하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-13 19:34:23313검색

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() {

}

"가져왔지만 사용되지 않음"이라는 컴파일 오류가 발생합니다. 가져온 인사말 패키지의 항목을 사용하면 컴파일해야 합니다.

단, 로컬 가져오기를 사용하는 것은 권장되지 않습니다. 대신 다음 import 문을 사용해야 합니다.

import "jacob.uk.com/greeting"

이 import 문을 사용하면 어디서나 코드를 컴파일, 실행 및 설치할 수 있습니다.

위 내용은 Go가 '로컬이 아닌 패키지의 로컬 가져오기' 오류를 반환하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.