是否可以在Golang程序中全局更改os.Args
的值?我正在编写像Cobra这样的库,只是为了好玩,而在内部,我使用os.Args
来解析命令行参数。我想这样做是为了正确测试解析器。
当前,我正在手动更改软件包的内部变量,但这是一个不好的做法。
谢谢。
答案 0 :(得分:0)
我认为答案对前一个问题How to test the passing of arguments in Golang?介绍了如何在测试过程中修改os.Args。
tomasz指出“ os.Args中的第一个值是可执行文件本身(的路径),因此os.Args = [] string {“ cmd”,“ -user = bla”}问题。您可以从标准软件包中查看flag test,他们正在做类似的事情。”