./room.go:39:6: main redeclared in this block
해결
하나의 폴더 아래 main이라는 함수를 2개를 사용해서 발생한 에러입니다.
main 함수를 하나만 가지도록 이름을 수정해줍니다.
하나의 폴더 아래 main이라는 함수를 2개를 사용해서 발생한 에러입니다.
main 함수를 하나만 가지도록 이름을 수정해줍니다.
main package에서만 go run이 실행되는거 같습니다.
* Mac
* vscode
* Golang 1.20
main.go에서 다른 모듈을 호출해서 사용할려고 다른 패키지 파일을 호출했는데 발생한 에러입니다.
go는 다른 모듈을 호출하고 사용할려면 go mod init을 통해 모듈 관리 파일을 생성해줘야 합니다.
생성 후 실행하니 실행되었습니다.
* Mac
* vscode
* Golang 1.20
go build 하는 도중 에러가 발생했습니다.
하나의 폴더 아래 main이라는 함수를 2개를 사용해서 발생한 에러입니다.
main 함수를 하나만 가지도록 이름을 수정한 후 go build를 다시 하니 정상 작동 했습니다.
* Mac
* vscode
* Golang 1.20
go mod init 한 후 go build 했을 때 발생했습니다.
go build 하기 전에 gopls 설정을 했기 때문에 거기서 발생한 문제 일수 있어 들어가 봤더니 필요 없는 구문이 적혀있어 제거 후 VSCode를 재실행 했습니다.
재실행 후 잘 작동합니다.
./room.go:39:6: main redeclared in this block (0) | 2023.08.09 |
---|---|
package command-line-arguments is not a main package (0) | 2023.08.09 |
package is not in GOROOT (0) | 2023.07.26 |
./room.go:39:6: main redeclared in this block (0) | 2023.07.26 |
gopls was not able to find modules in your workspace.When outside of GOPATH, gopls needs to know which modules you are working on ~ (2) | 2023.07.26 |
* Mac
* vscode
* Golang 1.20
vscode에서 go run main.go를 실행하는데 발생한 에러입니다.
1. vscode 설정 수정
*이 방법은 인터넷에서 가장 많이 찾은 방법이지만 현재 2023.07.26 기준으로 (제가 했을 때)안됩니다.*
먼저 settings에 들어가서 gopls을 검색 후 settings.json에 들어갑니다.
들어간 후 “gopls” : { “"build.expandWorkspaceToModule": true,”} 입력해주면 됩니다.
* 저는 Invalid settings: gopls setting "experimentalWorkspaceModule" is deprecated 발생하여 작동하지 않습니다. 뜨면서 해결되지 않았습니다.
2. Golang이 directory를 인식하지 못하는걸 인식할 수 있도록 수정
최상의 directory(root 폴더)에 go.work를 생성해준 후 go work use <폴더 위치>를 통해 go.work에 폴더 위치를 추가해줍니다.
저는 2번으로만으로 해결되었습니다.
./room.go:39:6: main redeclared in this block (0) | 2023.08.09 |
---|---|
package command-line-arguments is not a main package (0) | 2023.08.09 |
package is not in GOROOT (0) | 2023.07.26 |
./room.go:39:6: main redeclared in this block (0) | 2023.07.26 |
current directory is contained in a module that is not one of the workspace modules listed in go.work. You can add the module to the workspace using: (0) | 2023.07.26 |