首页 > 解决方案 > 无法在另一个包 main func main 中导入包 main 的 func A()。主要有2个包

问题描述

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

|- hello.go
|- main.go

这两个文件都是水平的,package main但与其他包不同,我无法导入funchello. func main可以只有1个文件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

标签: gogo-packages

解决方案


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

  1. 去建造。然后执行二进制

  2. 使用 go mod:

 go mod init main
 go mod tidy
 go run main

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


推荐阅读