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