有没有办法使用 Go 的 `flag` 包捕获所有无法识别的命令行标志?

问题描述 投票:0回答:2

我目前正在围绕

git diff
编写一个包装器,如果将任何与我的程序不直接相关的标志传递给
git diff
,那就太好了。例如:

  • 运行
    my-tool
    最终运行
    git diff
  • 运行
    my-tool --dir
    最终运行
    git diff --dir

我正在使用

flag
包来解析命令行标志,但是,看起来没有选项可以收集无法识别的标志。我还研究了
pflag
包,它具有 在遇到未知标志时继续运行的能力,但似乎没有提供收集这些无法识别的标志的方法。

我的问题是——有没有一种解析标志的方法,也允许收集无法识别的标志,而不需要复制这些实现之一并对其进行修改?

go command-line-interface
2个回答
1
投票

[我]是否有一种解析标志的方法,该方法还允许收集无法识别的标志,而不需要复制这些实现之一并对其进行修改?

没有。


0
投票

SetIgnoreUnknown(true)
github.com/cardinalby/go-struct-flags
GetIgnoredArgs() 可以是一个选项。

© www.soinside.com 2019 - 2024. All rights reserved.