>백엔드 개발 >Golang >GOPATH/src 내에서 상대 경로를 사용할 때 가져오기 오류가 발생하는 이유는 무엇입니까?

GOPATH/src 내에서 상대 경로를 사용할 때 가져오기 오류가 발생하는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-01 01:38:02662검색

Why Do I Get Import Errors When Using Relative Paths Within GOPATH/src?

GOPATH 가져오기 제한: 상대 및 절대 경로 이해

Go에서 패키지를 가져올 때 프로젝트 디렉터리의 위치가 중요한 역할을 합니다. 제공된 예에서 알 수 있듯이 GOPATH/src/project 디렉토리 내에서 상대 가져오기를 사용하면 가져오기 오류가 발생할 수 있습니다.

Go의 가져오기 메커니즘은 절대 가져오기 경로와 상대 가져오기 경로를 구별합니다. 절대 가져오기 경로는 슬래시(/)로 시작하고 Go 작업 공간의 루트를 나타냅니다. 반면 상대 가져오기 경로는 마침표(.)로 시작하고 현재 디렉터리를 기준으로 합니다.

제공된 예에서 main.go 파일은 상대 경로( "./모델"). 단, 프로젝트가 GOPATH/src/project 디렉터리에 있는 경우에는 이 경로가 인식되지 않습니다. 이는 Go 빌드 및 Go 설치 도구가 상대 가져오기를 완전히 지원하지 않기 때문입니다.

Go 도구와의 호환성을 보장하려면 현재 디렉터리 외부의 패키지에 대해 절대 가져오기 경로를 사용하는 것이 좋습니다. 이 경우 올바른 import 문은 다음과 같습니다.

import "models"

이 절대 가져오기 경로는 GOPATH 내의 프로젝트 위치에 관계없이 main.go 파일과 동일한 디렉터리에 있는 모델 패키지를 참조합니다.

요약하자면 Go의 상대 가져오기 경로는 사용이 제한됩니다. 일관성을 보장하고 잠재적인 가져오기 오류를 방지하려면 현재 디렉터리 외부에서 패키지를 가져올 때 항상 절대 가져오기 경로를 사용해야 합니다.

위 내용은 GOPATH/src 내에서 상대 경로를 사용할 때 가져오기 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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