码迷,mamicode.com
首页 > 其他好文 > 详细

golang实现命令行程序的使用帮助

时间:2020-01-04 01:13:51      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:const   pack   ola   描述   使用   sage   float   http   golang   

通过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

 

参考

 

golang实现命令行程序的使用帮助

标签:const   pack   ola   描述   使用   sage   float   http   golang   

原文地址:https://www.cnblogs.com/lvcisco/p/12147604.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!