将主程序包放在两个文件中

时间:2015-02-01 05:53:07

标签: go scope

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

  • main.go
  • otherfile.go

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中的代码可以访问其声明。为什么这不起作用?我该怎么办呢?

1 个答案:

答案 0 :(得分:-1)

如果我运行go run *.go就行了 如果我go build然后./testapp,它也会有用 希望这个问题可以帮助将来的某个人。

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