通过flag
包我们可以很方便的实现命令行程序的参数标志,
接下来我们来看看如何实现命令行程序的使用帮助,
通常以参数标志-h
或--help
的形式来使用.
自动生成使用帮助
我们只需要声明其他参数标志,并执行解析,flag
包会帮我们自动生成使用帮助.
//main.go //输出2个数,输出较大的数 package main import ( "flag" "fmt" "math" ) func main() { firstFlag := flag.Float64("first", 0, "第一个数") secondFlag := flag.Float64("second", 0, "第二个数") flag.Parse() max := math.Max(*firstFlag, *secondFlag) fmt.Print(max) }
编译生成后执行看看:
E:\GOPATH\src\max>max.exe -help Usage of max.exe: -first float 第一个数 -second float 第二个数 E:\GOPATH\src\max>max.exe -first=5 -second=66 66
自定义使用帮助
也许你不大喜欢或不满足于自动生成的使用帮助,那么也你可以试试自定义使用帮助. 同样我们使用flag
包,但这里重写了flag.Usage
来实现自定义使用帮助.
//main.go package main import ( "flag" "fmt" ) const help = ` 程序名称: max 描述: 输出2个数,输出较大的数. 示例: 1. test -help 2. max -first=5 -second=66 ` func main() { flag.Usage = func() { fmt.Print(help) } flag.Parse() //这里只实现使用帮助. }
编译生成后执行看看:
E:\GOPATH\src\max>max.exe -help 程序名称: max 描述: 输出2个数,输出较大的数. 示例: 1. test -help 2. max -first=5 -second=66
参考
- CLI:使用Go开发命令行应用