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