Package
Go의 코드를 묶는 단위로 모든 .go 파일은 package를 설정해야 합니다.
가장 기본적으로 Go 파일을 컴파일하기 위해서는 프로그램의 시작점 Package를 main으로 설정해야 합니다.
main
- packge main은 프로그램의 시작점입니다.
- 그렇기때문에, package main으로 작성된 .go 파일은 해당 파일을 컴파일 할 것이고 시작 패키지는 packge main입니다.
- package 명이 main이 아닌 패키지는 기능을 패키징화 한다는 등의 이유가 될 수 있습니다.
그렇다면, 위와같이 package만 작성하고 컴파일을 하면 컴파일러가 정상적으로 컴파일 할 수 있을까요?
그렇지 않습니다. 에러를 읽어보면 아래와 같은 runtime 에러 로그를 보여줍니다.
function main is undeclared in the main packge
main package 안에 function main이 선언되어있지 않다는 친절하고 명확한 에러로 개발을 편리하게 도와줍니다.
package main
func main() {
}
에러의 안내대로 위와 같이 func main() {}을 생성해주고 돌려보면 정상적으로 돌아갑니다. 이러한 경험대로 Go라는 언어는 컴파일 하기 위해서는 main package가 패키지의 시작점이고, main package안에서 func main() {}이 프로그램을 읽는 출발점이라고 볼 수 있습니다.
Go에서 제공하는 여러 package들은 아래에서 확인할 수 있다.
'Go' 카테고리의 다른 글
Variables/Constants (0) | 2023.12.27 |
---|---|
Import/Export (0) | 2023.12.24 |
Go에서 의존성 주입 (wire, fx 사용방법) (0) | 2023.05.14 |
go로 gRPC Unary 찍먹 (0) | 2023.05.01 |
gRPC란? (0) | 2023.05.01 |