两个go文件 TestMain.go
package main
import "fmt"
func main() {
fmt.Println("a")
Test1()
}
TestFunc.go
package main
import "fmt"
func Test1() {
fmt.Println("test1")
}
为什么执行 go run TestMain.go使报错,undefined: Test1
以前在1.7的时候好像不报错。为什么到1.8.3就有问题了?求助一哈
有疑问加站长微信联系(非本文作者)

用这个命令 go run TestMain.go TestFunc.go
GOPASH设置不对
这个方式是可以执行的。可是如果 写了很多的go 不能总这么着执行吧?
gopath: E:\Program\GOLang 代码在src目录下。 以前即使是在golang目录下,随便见一个文件夹也是可以执行的啊?
@hljdxjiang 可以将多个go文件放在同一个目录下。 go run 不带参数默认执行当前目录下所有文件,可以使用go help run 查看命令使用方法
go run *.go
找到原因了!!除了main包外…其他包都可以自己引用自己包的内容!!!事情的真相变成这个样子了!!谢谢啊
什么意思啊,我也遇到这个问题了,是要写到一个go文件里吗
就是 多个文件在main包下 不能相互调用,但是飞main包下 就可以相互调用!
你卸载一个文件里就不会报错了,或者gobuild 完在运行, 当然上面说的也可以
写一个文件里 自然是没啥问题的。go build还没研究到