Go: Package, Module

dev_314·2023년 4월 25일
0

Golang - Trial and Error

목록 보기
4/5

Package

참고
[Golang] Package
1. Go 패키지

패키지

  • 코드를 묶는 기본 단위 -> 모든 코드는 반드시 패키지로 묶어야 함.

표준 라이브러리

  • Go가 미리 제공하는 라이브러리
  • GOROOT/pkg 안에 존재한다.

GOROOT, GOPATH

터미널에 go env명령을 치면 여러 정보들이 출력된다.

GOPATH="/Users/wonju/go"
...
GOROOT="/usr/local/go" // `GOROOT`는 Go 설치 디렉토리를 가리킨다.
...

패키지를 import 할 때, Go 컴파일러는 GOROOT, GOPATH 환경변수를 사용하여, 다음과 같은 위치에서 패키지를 찾는다.

  1. 표준 패키지는 GOROOT/pkg
  2. 사용자 패키지, 3rd Party 패키지는 GOPATH/pkg

GOROOT는 Golang설치시에 자동으로 시스템에 설정되지만, GOPATH는 사용자가 지정해야 한다.

main package, main func

main패키지를 제외한 다른 패키지들은 main함수를 포함하지 않고, main패키지의 의 보조 패키지로 취급된다.

일반적인 패키지는 라이브러리로 사용되는 반면, main패키지는 Go Compiler에 의해 특별하게 인식된다.
컴파일러는 main패키지를 공유 라이브러리가 아닌 실행(executable) 프로그램으로 만든다.

main패키지의 main함수는 프로그램의 Entry Point로 사용된다. 따라서 패키지를 공유 라이브러리로 만들 때에는, main 패키지나 main 함수를 사용해서는 안된다.

Module

참고: [Golang] Module

profile
블로그 이전했습니다 https://dev314.tistory.com/

0개의 댓글