>백엔드 개발 >Golang >Go에서 로컬 패키지를 올바르게 가져오는 방법은 무엇입니까?

Go에서 로컬 패키지를 올바르게 가져오는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-28 19:24:11182검색

How to Correctly Import Local Packages in Go?

Go에서 로컬 패키지 가져오기

Go에서 현지화된 코드로 작업할 때 로컬 패키지를 가져오는 데 때때로 문제가 발생할 수 있습니다. 다음은 일반적인 문제와 해결 방법에 대한 자세한 분석입니다.

문제:

"/home/me/에 있는 패키지에 대한 가져오기 문을 현지화하려는 시도에서 go/src/myapp"에서 다음과 같이 변경되었습니다.

import (
    "./common"
    "./routers"
)

그러나 실행 시 "go install myapp"에서 다음 오류가 발생했습니다.

can't load package: /home/me/go/src/myapp/main.go:7:3: local import "./common" in non-local package

또한 "./" 접두사 없이 "common" 및 "routers"를 사용하면 다음과 같은 결과가 발생합니다.

myapp/main.go:7:3: cannot find package "common" in any of:
    /usr/local/go/src/common (from $GOROOT)
    /home/me/go/src/common (from $GOPATH)
myapp/main.go:8:2: cannot find package "routers" in any of:
    /usr/local/go/src/routers (from $GOROOT)
    /home/me/go/src/routers (from $GOPATH)

해결책 :

이 문제는 Go의 가져오기 경로 규칙에서 비롯됩니다. Go의 가져오기 시작 디렉터리는 "$HOME/go/src"입니다. 이 문제를 해결하려면 import 문의 패키지 이름에 "myapp" 접두사를 추가하면 됩니다.

import (
    "log"
    "net/http"
    "myapp/common"
    "myapp/routers"
)

이 수정을 통해 가져오기 경로가 올바른지 확인하고 컴파일 중에 발생한 오류를 해결할 수 있습니다.

위 내용은 Go에서 로컬 패키지를 올바르게 가져오는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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