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 +}