【问题标题】:How to run and pass a command-line-parameter to main.go in GoLand?如何在 GoLand 中运行并将命令行参数传递给 main.go?
【发布时间】:2019-01-16 06:42:59
【问题描述】:

我正在尝试使用 JetBrains 的 IDE GoLand 运行 Go 应用程序。我只想像这样运行以下命令:

$ go run main.go service.go

您能告诉我如何在“编辑配置”面板中进行配置吗?我尝试设置“程序参数”,但没有奏效。

【问题讨论】:

  • 您正确地传递了参数。如果您在 CLI 上执行 go run main.go sub.go(或任何正确的 arg),您的代码会运行吗?我觉得这个参数的后缀是 .go 让我觉得很奇怪,这让我觉得你可能试图错误地运行应用程序。
  • 是的,当我做 go run main.go service.go 时。它运行正确。
  • @Flimzy 这实际上不是真的。 “go run”命令旨在编译文件列表,并且在不指定任何文件时不起作用(至少在当前的 1.11 版本中)。
  • 你说得对,但你应该指定一个包,而不是单个文件。我更新了我的评论。
  • 这不能回答您的问题,但是如果您需要在“运行”命令行上传递特定文件,则说明您的包设计不佳/不正确。你应该可以简单地运行go run .

标签: go jetbrains-ide goland


【解决方案1】:

如果您需要为构建配置指定多个文件,您可以使用“文件”字段添加更多文件进行编译或将“运行类型”从当前“文件”更改为“包”。

“程序参数”字段用于最终程序的参数,而不是 go 工具。

【讨论】:

  • 啊,是的,这听起来不错。自从我不得不处理这个问题以来已经有一段时间了。使用问题的上下文提供一个示例是值得的。例如。 Files 应更新以删除 main.go 并简单地指向包,Program arguments 应留空。
【解决方案2】:

我不知道可以在“文件”字段中指定多个文件。 在“文件”字段中指定多个文件后,就可以了! 非常感谢。

【讨论】:

    猜你喜欢
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 2019-08-28
    • 2012-09-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-01
    • 2020-08-02
    相关资源
    最近更新 更多