golang:使用flag包,-h/-help 时返回自定义内容
■实例说明我们使用flag包定义了命名参数,如-name等,用户可以使用-h或-help显示出所有支持的参数内容
有时候,我们想屏蔽一些参数的展示,这个时候我们可以使用下面列子做到
1)flag包自定义展示-help内容
■实例代码
package main
import (
"flag"
"fmt"
)
func getUsage() string {
return `Usage of ./paramsFlag:
-env string
非必填:执行环境,默认:test (default "test")
-name string
非必填:姓名`
}
// getParams2 获取命令行参数
func getParams2() (string, int64, string) {
// 定义参数:env,默认值test
env := flag.String("env", "test", "非必填:执行环境,默认:test")
// 定义参数:count,int64类型,默认值10
count := flag.Int64("count", 10, "非必填:最大处理协程数量,默认:10个")
// 定义参数name,字符串类型
var name string
flag.StringVar(&name, "name", "", "非必填:姓名")
// 当用户使用-h或-help查看参数列表时,返回自定义内容
flag.CommandLine.Usage = func() { fmt.Println(getUsage()) }
// 解析命令行参数
flag.Parse()
// 注意:前两个是返回的*,后一个直接返回,这个和定义参数的方式flag.String/flag.StringVar不同导致
return *env, *count, name
}
func main() {
// 1、首先获取相关参数
env, count, name := getParams2()
// 2、执行具体任务
fmt.Printf("env = %s\n", env)
fmt.Printf("count = %d\n", count)
fmt.Printf("name = %s\n", name)
}
页:
[1]