【问题标题】:Intellij cannot load file .go same packageIntellij 无法加载文件 .go 相同的包
【发布时间】:2017-05-29 14:49:27
【问题描述】:

我在 Intellij 中运行文件 main.go 时遇到问题。

Main.go 和 Common.go 相同的包 main。我在 Intellij 中运行 Main.go,然后控制台日志显示消息错误:“.\Main.go:9: undefined: showMsg”。 showMsg 是 Common.go 的一个函数

【问题讨论】:

  • 检查运行配置。您可能正在运行单个文件,并且应该运行整个包

标签: go intellij-idea


【解决方案1】:

This video 应该告诉你如何解决这个问题。您基本上需要使用 Go Application 类型的 Run Configuration 并使用 Package 类型而不是 File 类型。

【讨论】:

  • 我将 Run kind 更改为 Package 并且 Package is main。但是有错误找不到包'main'
  • 你不需要包“main”。与视频中一样,包名应该是完全限定的包名。例如,如果您的 main 在 github.com/dlsniper/demo 下,那么这就是您需要使用的包 github.com/dlsniper/demo,而不是 main。
  • 如果不设置包运行配置错误“包未指定”。它仍然可以保存但不能运行
  • 对不起,我又试了一次,虽然运行配置有错误但是成功运行成功。谢谢@dlsniper
  • 如果您恰好在 [此帧][1] 暂停视频,它应该向您展示如何准确配置运行配置,这样您就不会在运行配置本身中看到任何错误 [1] :youtu.be/ko-wKntCLjg?t=50
【解决方案2】:

您正在从 IntelliJ 执行 go run main.go,因此它不会在其他文件中查找 showMsg()

您应该改为执行go build,以便将main 包中的所有文件编译成一个二进制文件。

【讨论】:

    猜你喜欢
    • 2017-04-23
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多