该问题没有出现在我的“问题”选项卡上,但当我尝试运行它时出现恐慌

Pan*_*udi 0 compiler-errors build go

我制作了 3 个 go 文件,每个文件都使用相同的包,即 package main。它会看起来像这样......

mydir/
-client.go 
-room.go
-main.go
Run Code Online (Sandbox Code Playgroud)

在我的终端中,没有出现任何问题,但是当我尝试运行/构建 main.go 时,它返回一个恐慌:

undefined: newRoom
Run Code Online (Sandbox Code Playgroud)

这是我的代码片段,其中有恐慌:

//main.go
r := newRoom()

//room.go
func newRoom() *room{
   return &room{}
}
Run Code Online (Sandbox Code Playgroud)

当我尝试删除该函数时,它在可视代码中返回错误“未声明”。再次添加它时,问题消失了,但是当我尝试运行或构建它时,如果我的 newRoom 函数未定义,它会返回错误。有人知道有什么问题吗?

如果能回答一些解释为什么它没有出现在视觉代码问题输出中,那就更好了。

pan*_*l-p 5

当您尝试构建main.go编译器时,只能看到main.go为什么显示错误(如“未定义的新房间”)的文件,您应该使用该文件,go build .而不是go build main.go如果目录的第一级中有多个 go 文件。