微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决无法在另一个包 main func main 中导入包 main 的 func A()有 2 个包 main

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

|- hello.go
|- main.go

这两个文件都在 package main 级别,但与其他包不同,我无法导入在 func 中的 hello 中定义的 func 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

解决方法

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

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

  2. 使用 go mod:

 go mod init main
 go mod tidy
 go run main

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

,

在终端中,你应该使用

go run .

代替

go run main.go

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。