공부/개발

go 프로그래밍 - main 에러를 내다

티오비 2020. 11. 16. 18:54

vs code에서 go 프로그래밍을 해보던 중 다음과 같은 에러에 직면했습니다.

main redeclared in this block previous declaration at ./file2.go

vs code

다른 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
 

Tutorial: Get started with Go - The Go Programming Language

Tutorial: Get started with Go In this tutorial, you'll get a brief introduction to Go programming. Along the way, you will: Install Go (if you haven't already). Write some simple "Hello, world" code. Use the go command to run your code. Use the Go package

golang.org

즉 package main은 GO 컴파일러에게 해당 패키지가 실행가능한 프로그램으로 컴파일되어야 한다는 것을 알려주는 것입니다.

 

네 이렇게 main error가 나는 이유에 대해 확인을 해보았습니다. 해당 문제에 대해 피드백이 있으시면 언제든 댓글 부탁드립니다.

 

감사합니다.