diff --git a/util/cli.go b/util/cli.go index 8e17e49..905939e 100644 --- a/util/cli.go +++ b/util/cli.go @@ -13,14 +13,17 @@ import "flag" // // Date : 1:54 下午 2021/8/14 func ParseCLIParameter(parameterNameList []string) map[string]string { - cliParameterTable := make(map[string]string) + cliParameterTable := make(map[string]*string) for _, parameterName := range parameterNameList { - val := flag.String(parameterName, "", parameterName) - cliParameterTable[parameterName] = *val + cliParameterTable[parameterName] = flag.String(parameterName, "", parameterName) } // 这里有一个非常中的操作,转换,必须调用该方法 flag.Parse() - return cliParameterTable + formatTable := make(map[string]string) + for k, v := range cliParameterTable { + formatTable[k] = *v + } + return formatTable } // ParseCLIParameterWithDefaultValue 解析命令行参数,并提供可选的默认值 @@ -29,12 +32,15 @@ func ParseCLIParameter(parameterNameList []string) map[string]string { // // Date : 1:55 下午 2021/8/14 func ParseCLIParameterWithDefaultValue(parameterParseTable map[string]string) map[string]string { - cliParameterTable := make(map[string]string) + cliParameterTable := make(map[string]*string) for parameterName, defaultValue := range parameterParseTable { - val := flag.String(parameterName, defaultValue, parameterName) - cliParameterTable[parameterName] = *val + cliParameterTable[parameterName] = flag.String(parameterName, defaultValue, parameterName) } // 这里有一个非常中的操作,转换,必须调用该方法 flag.Parse() - return cliParameterTable + formatTable := make(map[string]string) + for k, v := range cliParameterTable { + formatTable[k] = *v + } + return formatTable }