【问题标题】:Using function from `main` package into main.go file使用 `main` 包中的函数到 main.go 文件中
【发布时间】:2022-01-12 08:48:25
【问题描述】:

我在根目录中有 2 个文件:main.goutils.go

main.go 文件是:

package main

func main() {
   CustomPrint()
}

utils.go文件:

package main

import "fmt"

func CustomPrint() {
   fmt.Println("example")
}

但是,由于无法识别customPrint,我收到错误消息。

如果不创建另一个包来存储utils.go 文件,有什么方法可以做到这一点?

【问题讨论】:

  • 这是因为您正在以go run main.go 的身份执行程序,它只处理main.go 文件。给工具程序的所有文件,你会没事的。见stackoverflow.com/a/68631100/965900
  • 您应该使用go.mod 创建一个合适的项目并使用go build . 构建它

标签: go import package


【解决方案1】:

其实很简单,当你尝试运行“go run main.go”时,你只执行了 main.go 文件。 Utils.go 文件不与它一起执行。

首先你可以执行

go run

它会提示你错误。

As you can see that is expect list and multiple files instead of single file, "No go files listed"

解决方案是你只需要执行这两个文件

go run main.go utils.go

问题解决了!

它将按照您的预期运行。

第二个选项更简单,您不必输入那么多文件。

你可以跑

go run ./

它将执行当前目录中的每个 .go 文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 2013-03-15
    • 1970-01-01
    • 2020-03-30
    • 2018-09-29
    • 2018-08-28
    • 2016-01-28
    相关资源
    最近更新 更多