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

The problem didnt show up on my Problem tab, but there is panic when i am trying to run it

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

mydir/
-client.go 
-room.go
-main.go

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

undefined: newRoom

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

//main.go
r := newRoom()

//room.go
func newRoom() *room{
   return &room{}
}

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

最好能解释一下为什么它没有出现在 Visual Code Problems 输出中。

这是从包含一堆文件的目录构建二进制文件的命令:

go build ./mydir/...

此命令在 mydir 文件夹中构建包,所有包递归。 运行 go help build 以获取有关 build 命令的更多信息。

您的代码没有任何问题。

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