文档支持解析最小值、最大值、默认值

This commit is contained in:
2025-02-18 22:21:53 +08:00
parent 339b7aca77
commit 57dfd12aa5
4 changed files with 121 additions and 29 deletions

View File

@ -70,31 +70,34 @@ func (psf parseStructFieldTag) GetDefaultValue(structField reflect.StructField)
defaultTagList := []string{define.TagD, define.TagDefault}
fieldType := structField.Type.Kind().String()
for _, tag := range defaultTagList {
if val, exist := structField.Tag.Lookup(tag); exist && val != "" {
if strings.HasPrefix(fieldType, "int") {
i, _ := strconv.Atoi(val)
return i
}
if strings.HasPrefix(fieldType, "uint") {
uintVal, _ := strconv.ParseUint(val, 10, 64)
return uintVal
}
if strings.HasPrefix(fieldType, "float") {
floatVal, _ := strconv.ParseFloat(val, 64)
return floatVal
}
if strings.HasPrefix(fieldType, "string") {
return val
}
if strings.HasPrefix(fieldType, "bool") {
if val == "true" {
return true
} else {
return false
}
}
val, exist := structField.Tag.Lookup(tag)
val = strings.TrimSpace(val)
if !exist || len(val) == 0 {
continue
}
if strings.HasPrefix(fieldType, "int") {
i, _ := strconv.Atoi(val)
return i
}
if strings.HasPrefix(fieldType, "uint") {
uintVal, _ := strconv.ParseUint(val, 10, 64)
return uintVal
}
if strings.HasPrefix(fieldType, "float") {
floatVal, _ := strconv.ParseFloat(val, 64)
return floatVal
}
if strings.HasPrefix(fieldType, "string") {
return val
}
if strings.HasPrefix(fieldType, "bool") {
if val == "true" {
return true
} else {
return false
}
}
return val
}
return nil
}