Go 主包分两个文件

Go main package in two files

$GOPATH/src/testapp我有两个文件

main.go 有

package main

import "fmt"

func main() {
  fmt.Println(SomeFunc())
}

otherfile.go 有

package main

func SomeFunc() string {
  return "a thing"
}

当我尝试 运行 和 go run main.go 时,出现错误

./main.go:6: undefined: SomeFunc

我想我可以用 package main 创建另一个文件并且 main.go 中的代码可以访问它的声明。为什么这不起作用?我该怎么做?

如果我 运行 go run *.go 它有效。
如果我 go build 然后 ./testapp.
它也有效 希望这个问题对以后的人有所帮助。

此页面上的一些评论对我有帮助:https://github.com/go-lang-plugin-org/go-lang-idea-plugin/issues/555