[go] Go 언어에서 모듈과 패키지의 관계 이해하기

Go 언어에서는 모듈과 패키지를 사용하여 코드를 구성합니다. 이는 코드의 재사용성을 높이고 유지보수를 쉽게 합니다.

패키지(Packages)

Go 언어에서는 코드를 패키지 단위로 구성합니다. 각 패키지는 함수, 타입, 변수 등을 포함하는데, 다른 패키지에서 이를 사용할 수 있습니다. 패키지는 import 키워드를 사용하여 다른 패키지에서 불러올 수 있습니다.

예를 들어, fmt 패키지는 표준 라이브러리에서 기본적으로 제공되며, 화면에 출력하는 등의 기능을 제공합니다.

import "fmt"

모듈(Modules)

Go 언어는 모듈을 사용하여 패키지의 버전을 관리합니다. 모듈은 패키지와 의존성을 관리하는 데 사용되며, go.mod 파일에 정의됩니다. 이를 통해 다른 프로젝트에서 모듈을 쉽게 재사용할 수 있습니다.

module example.com/hello

go 1.14

require (
    example.com/greetings v1.3.0
)

모듈과 패키지 간의 관계

모듈은 패키지의 버전을 추적하고 의존성을 관리하는 데 사용됩니다. 모듈은 패키지의 릴리스 버전을 명시하는 데 도움을 줍니다. 따라서 모듈과 패키지는 코드의 구조를 유지하고 외부 의존성을 관리하는 데 중요한 역할을 합니다.

위에서 언급한 바와 같이, Go 언어에서는 모듈과 패키지를 사용하여 코드를 구성하며, 이 둘은 코드를 모듈화하고 재사용 가능하게 만드는 데 중요한 역할을 합니다.

참고 자료