패키지
표준 라이브러리
GOROOT/pkg
안에 존재한다. 터미널에 go env
명령을 치면 여러 정보들이 출력된다.
GOPATH="/Users/wonju/go"
...
GOROOT="/usr/local/go" // `GOROOT`는 Go 설치 디렉토리를 가리킨다.
...
패키지를 import 할 때, Go 컴파일러는 GOROOT
, GOPATH
환경변수를 사용하여, 다음과 같은 위치에서 패키지를 찾는다.
GOROOT/pkg
GOPATH/pkg
GOROOT
는 Golang설치시에 자동으로 시스템에 설정되지만, GOPATH
는 사용자가 지정해야 한다.
main
패키지를 제외한 다른 패키지들은 main
함수를 포함하지 않고, main
패키지의 의 보조 패키지로 취급된다.
일반적인 패키지는 라이브러리로 사용되는 반면, main
패키지는 Go Compiler에 의해 특별하게 인식된다.
컴파일러는 main
패키지를 공유 라이브러리가 아닌 실행(executable) 프로그램으로 만든다.
main
패키지의 main
함수는 프로그램의 Entry Point로 사용된다. 따라서 패키지를 공유 라이브러리로 만들 때에는, main 패키지나 main 함수를 사용해서는 안된다.
참고: [Golang] Module