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() 함수를 사용해서는 안된다.