From baafc0511e8abc3d565a7d9cb40e5e14fa895889 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E8=8C=B6=E6=B8=85=E6=AC=A2?= Date: Sat, 14 Aug 2021 14:11:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=91=BD=E4=BB=A4=E8=A1=8C?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- util/cli.go | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 util/cli.go diff --git a/util/cli.go b/util/cli.go new file mode 100644 index 0000000..18f490e --- /dev/null +++ b/util/cli.go @@ -0,0 +1,38 @@ +// Package util ... +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 1:53 下午 2021/8/14 +package util + +import "flag" + +// ParseCLIParameter 解析命令含参数 +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 1:54 下午 2021/8/14 +func ParseCLIParameter(parameterNameList []string) map[string]*string { + cliParameterTable := make(map[string]*string) + for _, parameterName := range parameterNameList { + cliParameterTable[parameterName] = flag.String(parameterName, "", parameterName) + } + // 这里有一个非常中的操作,转换,必须调用该方法 + flag.Parse() + return cliParameterTable +} + +// ParseCLIParameterWithDefaultValue 解析命令行参数,并提供可选的默认值 +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 1:55 下午 2021/8/14 +func ParseCLIParameterWithDefaultValue(parameterParseTable map[string]string) map[string]*string { + cliParameterTable := make(map[string]*string) + for parameterName, defaultValue := range parameterParseTable { + cliParameterTable[parameterName] = flag.String(parameterName, defaultValue, parameterName) + } + // 这里有一个非常中的操作,转换,必须调用该方法 + flag.Parse() + return cliParameterTable +}