修复命令行参数解析BUG

This commit is contained in:
白茶清欢 2021-08-14 15:43:40 +08:00
parent dda69ef17f
commit def53790c8

View File

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