关于go:为什么无法识别其他“主”包中定义的函数?


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

我要把main.go和main2.go归档。在main.go中,我定义了main()函数,同时调用了main2.go中的somefunc()。问题是,当我运行go run main.go时,它表示somefunc()未定义。基本上,它不扫描包中的其他主要功能。但是,如果我在main.go中声明这个somefunc(),它会起作用,但是当我运行go测试时,它会说函数被重新声明。

问题:我有没有办法告诉go run像go test和编译/运行包中的所有文件(在本例中是main.go和main1.go)这样的行为,而不仅仅是main.go?


必须将所有文件作为go run的参数包含在内。

1
go run main1.go main.go

1
go *.go

除非同一文件夹中有测试文件。