英文:
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
在我的终端中,没有出现任何问题。但是当我尝试运行/构建main.go
时,它返回了一个panic错误:
undefined: newRoom
以下是引发panic错误的代码片段:
// main.go
r := newRoom()
// room.go
func newRoom() *room {
return &room{}
}
当我尝试删除该函数时,Visual Code会返回一个"Undeclared"错误。当我再次添加该函数时,问题消失了,但是当我尝试运行或构建时,它会返回一个错误,指出newRoom
函数未定义。有人知道出了什么问题吗?
最好附带一些解释,说明为什么它不会出现在Visual Code的问题输出中。
英文:
I make 3 go files with each of them is using the same package, which was package main.
It will look like this...
mydir/
-client.go
-room.go
-main.go
In my terminal, there is no problem that appears on it, but when I try to run/build main.go, it's returning a panic:
undefined: newRoom
here was my snippet code which has panic :
//main.go
r := newRoom()
//room.go
func newRoom() *room{
return &room{}
}
When I try to delete the function, it's returning an error "Undeclared" in Visual Code. When adding it again, the problem disappears but when I try to run or build it, it returns an error if my newRoom function is undefined. Does anybody have a clue, what's wrong with it?
It's better if answered with some explanation why it doesn't appear on Visual Code Problems output.
答案1
得分: 5
当你尝试构建main.go
时,编译器只能看到main.go
文件,所以会显示错误信息"undefined new room"。如果你的目录中有多个go文件在第一层级,你应该使用go build .
而不是go build main.go
。
英文:
When you try to build main.go
the compiler can see only the main.go
file that why error was shown like "undefined new room"
you should use go build .
instead of go build main.go
if you have multiple go file in first level of your directory.
答案2
得分: 3
以下是从一个包含许多文件的目录中构建二进制文件的命令:
go build ./mydir/...
这个命令会构建mydir
文件夹中的包以及所有递归下去的包。运行go help build
可以获取更多关于build
命令的信息。
你的代码没有任何问题。
英文:
Here is the command to build a binary from a directory with a bunch of files:
go build ./mydir/...
This command build the package in the mydir
folder and all packages recursing down. Run go help build
to get more about build
command.
There is no any issue with your code.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论