>백엔드 개발 >Golang >수정된 Go 프로젝트 구조에서 여러 디렉터리에 걸쳐 모듈에 액세스하는 방법은 무엇입니까?

수정된 Go 프로젝트 구조에서 여러 디렉터리에 걸쳐 모듈에 액세스하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-26 03:58:15908검색

How to Access Modules Across Different Directories in a Revised Go Project Structure?

수정된 Golang 프로젝트 구조에서 모듈 액세스

Go 버전 1.11부터 모듈 관리가 크게 변경되었습니다. 새 프로젝트 구조에서 다른 디렉터리의 모듈을 참조하는 방법을 이해하려면 폴더 설정을 살펴보겠습니다.

\root\module1
\root\module2

각 디렉터리에는 go.mod 파일이 포함되어 있으며 다음 위치에서 이러한 모듈에 성공적으로 액세스할 수 있습니다. 루트 디렉토리. 그러나 module1에서 module2에 액세스하려면 다음 단계를 따르세요.

OLD WAY

기존 접근 방식에서는 액세스하려면 모듈을 GOPATH 환경 변수에 배치해야 합니다. GOPATH 폴더의 구조는 일반적으로 다음과 같습니다.

$GOPATH
├── bin
├── pkg
└── src
   ├── github.com
   └── other_imported_modules

import 문을 사용하여 module1의 module2에서 datastructures.go라는 데이터 구조 파일을 가져올 수 있습니다.

import (
    "github.ibm.com/Alessio-Savi/GoLog-Viewer/datastructure"
)

새로운 방법

모듈 관리에 대한 현대적인 접근 방식에는 go mod init 사용이 포함됩니다. 명령:

go mod init github.com/username/modulename

이 명령은 go.mod 및 go.sum 파일을 생성합니다. go.mod 파일에는 종속성이 포함되어 있고 go.sum에는 해시가 저장됩니다. 예를 들어 module2의 go.mod 파일은 다음과 같습니다.

module github.com/username/module2

go 1.13

require (
    github.com/alessiosavi/ahocorasick v0.0.3
)

이제 module1에서 module2를 가져올 수 있습니다.

import (
    "github.com/username/module2"
)

이 방법을 사용하면 별도의 작업 없이 모듈에 액세스할 수 있습니다. 게시하거나 GOPATH에 배치해야 합니다.

위 내용은 수정된 Go 프로젝트 구조에서 여러 디렉터리에 걸쳐 모듈에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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