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

Jay Singh 2023년1월30일
  1. Go의 패키지 디렉토리
  2. Go의 주요 패키지
  3. go mod init를 사용하여 Go에서 모듈 초기화
  4. 소스 코드 파일을 배치하여 Go에서 패키지 생성
  5. import() 메서드를 사용하여 Go에서 로컬 패키지 가져오기
Go에서 로컬 패키지 가져오기

Go의 패키지는 동일한 디렉토리에 컴파일된 Go 소스 코드 파일의 모음입니다.

일반적으로 이러한 패키지는 패키지 간에 코드를 내보내고 가져옵니다. 결과적으로 코드는 모듈화되어 유지 관리가 쉽습니다.

Go의 패키지 디렉토리

작업 공간 프로젝트에는 dir1dir2라는 두 개의 패키지가 있습니다. 각 파일 생성 디렉토리는 패키지 디렉토리에 포함됩니다.

└───workspace
    ├───dir1
    ├───dir2

Go의 주요 패키지

패키지의 코드는 모든 파일에서 내보낼 수 있습니다. 그러면 다른 프로젝트 파일이 해당 패키지 디렉터리를 참조하고 코드를 가져올 수 있습니다.

이를 통해 단일 패키지를 가져오고 해당 패키지에 포함된 파일에 포함된 모든 코드에 액세스할 수 있습니다.

// for files in dir1
package dir1

// for files in dir2
package dir2 

go mod init를 사용하여 Go에서 모듈 초기화

패키지를 가져올 때 첫 번째 단계는 새 모듈을 만드는 것입니다.

통사론:

go mod init <module_name>

예를 들어, 작업 공간 디렉토리 아래에서 다음과 같이 새 모듈을 빌드할 수 있습니다.

go mod init workspace

외부 패키지가 없기 때문에 파일은 모듈 이름과 Go 버전을 제공합니다.

module workspace
go 1.17

소스 코드 파일을 배치하여 Go에서 패키지 생성

프로젝트에 새 디렉터리를 만들고 그 아래에 소스 코드 파일을 배치하여 패키지를 만듭니다.

$ touch dir1/dir1.go
$ touch dir2/dir2.go

이제 이러한 각 파일에 몇 가지 코드를 추가해 보겠습니다.

// dir1.go
package dir1
funcHello1() string {
    return "Hello everyone, I am from dir 1"
}

//dir2.go
package dir2
funcHello2() string {
    return "Hello everyone, I am from dir 2"
}

import() 메서드를 사용하여 Go에서 로컬 패키지 가져오기

마지막 단계는 각 패키지의 코드를 사용하도록 로컬 패키지를 가져오는 것입니다.

작업 공간 디렉토리라고도 하는 프로젝트의 루트에 main.go 파일을 작성하십시오.

package main
import (
"fmt"
    "workspace/dir1"
    "workspace/dir2"
)
funcmain() {
    fmt.Println(dir1.Hello1())
    fmt.Println(dir2.Hello2())
}

출력:

Hello everyone, I am from dir 1
Hello everyone, I am from dir 2

관련 문장 - Go Package