如何在golang标志中记录其余的argv?

mca*_*dre 3 go command-line-arguments

作为一个微服务作者,我欣赏标准库的标志pacakge有多强大,提供了一种记录命令行标志的轻量级方法.但是,内置-help选项似乎只显示标志本身的文档,而其余命令行参数通常是特殊的,也需要文档.记录其余CLI参数的好方法是什么,例如接受某些标志的Go应用程序,然后将其余参数视为文件路径?

Tim*_*per 6

我首选的方法是设置flag.Usage一个打印附加文档的函数.

例如:

flag.Usage = func() {
    fmt.Fprintf(os.Stderr, "usage: %s [flags] <paths...>\n", os.Args[0])
    flag.PrintDefaults()
    fmt.Fprintf(os.Stderr, "Argument documention goes here\n")
}
Run Code Online (Sandbox Code Playgroud)