The user with no hat
The user with no hat

Reputation: 10846

Why the functions defined in other "main" packages are not recognised?

I have to files main.go and main2.go . In main.go I have the main() function defined along with a call somefunc() which is in main2.go. The issue is that when I run go run main.go it says that somefunc() is undefined. Basically it doesn't scan the other main functions from package. However if I declare this somefunc() in main.go it works but when I run go test it says the function is redeclared.

Question: Is there any way that I can tell to go run to behave like go test and compile/run all the files from the package(in this case both main.go and main1.go) not just main.go?

Upvotes: 1

Views: 458

Answers (1)

Simone Carletti
Simone Carletti

Reputation: 176352

You must include all the files as argument of the go run.

go run main1.go main.go

or

go *.go

Unless there are test files in the same folder.

Upvotes: 4

Related Questions