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

时间:2017-10-11 17:54:04

标签: go command-line-arguments

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

1 个答案:

答案 0 :(得分: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")
}