vscode에서 go build
실행 도중 에러 발생
D:\go\test>go build
# example.com/test
.\test2.go:5:6: main redeclared in this block
.\test.go:5:6: other declaration of main
.go
파일이 같은 경로에 있다면, 하나의 package
안에 하나의 main
함수만 있어야 한다고 한다.
1) test2.go
의 main()
함수를 주석 처리
2) go build test.go
3) test2.go
파일 경로 이동
일반적으로 패키지는 라이브러리로서 사용되지만, main
이라고 명명된 패키지는 Go Compiler에 의해 특별하게 인식된다. 패키지명이 main
인 경우, 컴파일러는 해당 패키지를 공유 라이브러리가 아닌 실행(executable) 프로그램으로 만든다. 그리고 이 main
패키지 안의 main()
함수가 프로그램의 시작점 즉 Entry Point가 된다. 패키지를 공유 라이브러리로 만들 때에는, main
패키지나 main()
함수를 사용해서는 안된다.