无法在另一个包 main func main 中导入包 main 的 func A()。主要有2个包

Unable to import func A() of package main, inside another package main func main. There are 2 package main

在包级别 main 我有 2 个文件 hello.gomain.go.

|- hello.go
|- main.go

这两个文件都在 package main 级别,但与其他包不同,我无法导入 hello 中定义的 funcfunc mainpackage main 只能有 1 个文件吗?

// 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

在终端中,你应该使用

go run .

而不是

go run main.go

使这项工作正常的两种方法

  1. 开始构建。然后执行二进制

  2. 去mod:

 go mod init main
 go mod tidy
 go run main

看起来构建可以将 module 解析到当前目录。 否则,你必须告诉 go module 在哪里