英文:
Unable to import func A() of package main, inside another package main func main. There are 2 package main
问题
在main
包级别上,我有两个文件hello.go
和main.go
。
|- hello.go
|- main.go
这两个文件都在package main
级别,但与其他包不同的是,我无法在func main
中导入hello
中定义的func
。package main
只能有一个文件吗?
// hello.go
package main
import "fmt"
func Hello() {
fmt.Println("hello world")
}
// main.go
package main
func main() {
Hello()
}
错误信息:
./main.go:4:2: undefined: Hello
英文:
At package level main
I have 2 files hello.go
and main.go
.
|- hello.go
|- main.go
Both the files are in package main
level but unlike other packages I am unable to import a func
defined in the hello
in the func main
. Can there be only 1 file with package main
?
// hello.go
package main
import "fmt"
func Hello() {
fmt.Println("hello world")
}
// main.go
package main
func main() {
Hello()
}
Error
./main.go:4:2: undefined: Hello
答案1
得分: 1
两种方法可以使其正常工作:
1)使用命令"go build ."编译代码,然后执行生成的可执行文件。
2)使用go mod:
a) 运行命令"go mod init main"初始化模块。
b) 运行命令"go mod tidy"整理模块依赖。
c) 运行命令"go run main"执行代码。
如果build命令无法解析模块到当前目录,那么你需要告诉go模块的位置。
英文:
two ways to make this work ok
-
go build . then execute the binary
-
with go mod:
> go mod init main
> go mod tidy
> go run main
looks like build can resolve the module to the current directory.
Otherwise, you have to tell go where the module is
答案2
得分: 0
在终端中,你应该使用
go run .
而不是
go run main.go
英文:
In the terminal, you should use
go run .
instead of
go run main.go
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论