Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 转到两个文件中的主包_Go_Scope - Fatal编程技术网

Go 转到两个文件中的主包

Go 转到两个文件中的主包,go,scope,Go,Scope,在$GOPATH/src/testapp中,我有两个文件 梅因,加油 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:

在$GOPATH/src/testapp中,我有两个文件

梅因,加油 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
我想我可以用包main创建另一个文件,main.go中的代码可以访问它的声明。为什么这样不行?我该怎么做这样的事情呢?

如果我运行go-run*,它会工作的。 如果我先进行构建,然后再进行测试,它也会起作用。/testapp。 希望这个问题对将来的人有所帮助

本页上的一些评论对我很有帮助: