2017-10-11 36 views
3

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

回答

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") 
} 
相关问题