是否有一种方法可以使用Go'捕获所有无法识别的命令行标志;s'flag'包装?

是否有一种方法可以使用Go'捕获所有无法识别的命令行标志;s'flag'包装?,go,command-line-interface,Go,Command Line Interface,我目前正在围绕git diff编写一个包装器,如果任何与我的程序不直接相关的标志都能传递到git diff,那就太好了。例如: 运行my tool最终运行git diff 运行my tool--dir最终运行git diff--dir 但是,我正在使用该包来解析命令行标志,而且似乎没有收集未识别标志的选项。我还调查了这个包,它有,但似乎没有提供收集这些未识别标志的方法 我的问题是——除了复制和修改其中一个实现之外,有没有一种解析标志的方法允许收集未识别的标志 [一] 除了复制和修改其中一个实

我目前正在围绕
git diff
编写一个包装器,如果任何与我的程序不直接相关的标志都能传递到
git diff
,那就太好了。例如:

  • 运行
    my tool
    最终运行
    git diff
  • 运行
    my tool--dir
    最终运行
    git diff--dir
但是,我正在使用该包来解析命令行标志,而且似乎没有收集未识别标志的选项。我还调查了这个包,它有,但似乎没有提供收集这些未识别标志的方法

我的问题是——除了复制和修改其中一个实现之外,有没有一种解析标志的方法允许收集未识别的标志

[一] 除了复制和修改其中一个实现之外,还有一种解析标志的方法允许收集未识别的标志吗


没有。

没有。解决方法是为
git diff
命令定义一个包含标志的标志。请参见
go build
标志
-gcflags
-asmlags
等作为示例。另一个解决方法是在
--
之后传递
git diff
标志,以便将它们作为参数处理。谢谢@CeriseLimón!没有想到
--
选项;这可能很有效。像这样的“答案”不应该是Q评论吗?