通过flag
包我们可以很方便的实现命令行程序的参数标志,接下来我们来看看如何实现命令行程序的使用帮助,通常以参数标志-h
或--help
的形式来使用。
自动生成使用帮助
我们只需要声明其他参数标志,并执行解析,flag
包会帮我们自动生成使用帮助。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
//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
来实现自定义使用帮助。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
//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
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。
原文链接:https://www.cnblogs.com/taadis/p/12126197.html