zoukankan      html  css  js  c++  java
  • 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:GOPATHsrcmax>max.exe -help
    Usage of max.exe:
      -first float
            第一个数
      -second float
            第二个数
    
    E:GOPATHsrcmax>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:GOPATHsrcmax>max.exe -help
    
    程序名称: max
    描述: 输出2个数,输出较大的数.
    示例:
    1. test -help
    2. max -first=5 -second=66
    

    参考

  • 相关阅读:
    ElasticSearch 2 (23)
    ElasticSearch 2 (22)
    微信小程序框架模板部署:mpvue2.x+typescript+webpack3.x
    mpvue添加对scss的支持
    mpvue 封装axios请求方法
    Vue中qs插件的使用
    在微信小程序中使用less/sass
    微信小程序封装request请求
    VSCode --tsc : 无法加载文件
    Vue项目中的RSA加解密
  • 原文地址:https://www.cnblogs.com/taadis/p/12126197.html
Copyright © 2011-2022 走看看