Go工具中的命令行参数被忽略

时间:2019-07-17 13:31:39

标签: go command line

我目前正在用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之前绝对无关紧要。输出值始终是默认值,而输入值始终正确设置。我真的很茫然。

1 个答案:

答案 0 :(得分:-1)

我发现在开始使用该参数后我叫flag.Parse()