vs code에서 go 프로그래밍을 해보던 중 다음과 같은 에러에 직면했습니다.
main redeclared in this block previous declaration at ./file2.go
다른 go 파일에 main이 이미 선언이 되어 있어서 에러가 난 것 인데요
file2.go main 함수를 주석 처리한 후 다시 확인을 해보니
에러가 해결이 되었습니다.
왜 이런 에러가 난 것인지 너무 궁금했는데요 왜냐하면 저는 go 파일 개별로 처리되는줄 알고있었습니다. 하지만 이것은 매우 초보자의 실수였습니다.
Go에서는 packcage 당 main 함수를 하나만 지정할 수 있었습니다. 만약 새로운 main 함수를 지정하려면 새로운 폴더를 만들어야 하는 것이죠
실행 타입의 프로그램을 만들기 위해선
package main
func main() {
}
- Executable commands must always use package main.
밑에 홈페이지에서 발췌했습니다.
출처 : https://golang.org/doc/tutorial/getting-started
즉 package main은 GO 컴파일러에게 해당 패키지가 실행가능한 프로그램으로 컴파일되어야 한다는 것을 알려주는 것입니다.
네 이렇게 main error가 나는 이유에 대해 확인을 해보았습니다. 해당 문제에 대해 피드백이 있으시면 언제든 댓글 부탁드립니다.
감사합니다.
'공부 > 개발' 카테고리의 다른 글
주식 자동매매 프로그램 - 2. putty 연동 및 mysql 설치 (0) | 2020.11.29 |
---|---|
주식 자동매매 프로그램 - 1. AWS 인스턴스 생성 (0) | 2020.11.27 |
go 프로그래밍 - 2.채널 time.After() (0) | 2020.11.12 |
GO 프로그래밍 - 기초 1편 환경 설정 (0) | 2020.11.11 |
swap (0) | 2018.01.10 |