【问题标题】:Command line argument is ignored in Go toolGo 工具中忽略命令行参数
【发布时间】:2019-11-26 08:40:43
【问题描述】:

我目前正在用 Go 编写我的第一个小工具,但遇到了一个问题,即无论我做什么,都会忽略一个命令行参数。

mainFile := flag.String("input", "./generator.ini", "the input file")
outputFile := flag.String("foo", "Default directory foo bar blablabla", "the output directory")
fmt.Println("Param: ", *outputFile)
outputDir := filepath.Clean(*outputFile)

flag.Parse()

fmt.Println("Outputdir ", outputDir)
fmt.Println("Mainfile ", *mainFile)

所以问题是无论我如何调用程序,outputFile 始终是默认值。

.\generator.exe -input=D:\entwicklung\GoLang\src\github.com\Abenstex\CodeGenerator\generator\main.cfg -out=D:\entwicklung\test

-out 是否在 -input 之前完全没有关系。输出的值始终是默认值,而输入值始终是正确设置的。我真的很茫然。

【问题讨论】:

    标签: go command line


    【解决方案1】:

    我发现我开始使用参数后调用了flag.Parse()

    【讨论】:

      猜你喜欢
      • 2018-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-24
      • 1970-01-01
      • 2019-08-26
      相关资源
      最近更新 更多