mirror of
https://github.com/gin-gonic/gin.git
synced 2026-07-06 10:21:17 +08:00
Merge fc2604610707983e89db6deb1c565085146136ab into d9307dbcbbe796a64d9e0ef23452da888dd7f904
This commit is contained in:
commit
9e6e33e9ff
@ -143,24 +143,24 @@ type setOptions struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func tryToSetValue(value reflect.Value, field reflect.StructField, setter setter, tag string) (bool, error) {
|
func tryToSetValue(value reflect.Value, field reflect.StructField, setter setter, tag string) (bool, error) {
|
||||||
var tagValue string
|
|
||||||
var setOpt setOptions
|
var setOpt setOptions
|
||||||
|
|
||||||
tagValue = field.Tag.Get(tag)
|
tagValue, opts := head(field.Tag.Get(tag), ",")
|
||||||
tagValue, opts := head(tagValue, ",")
|
|
||||||
|
|
||||||
if tagValue == "" { // default value is FieldName
|
if tagValue == "" { // default value is FieldName
|
||||||
|
if field.Name == "" {
|
||||||
|
return false, nil
|
||||||
|
}
|
||||||
tagValue = field.Name
|
tagValue = field.Name
|
||||||
}
|
}
|
||||||
if tagValue == "" { // when field is "emptyField" variable
|
|
||||||
return false, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
var opt string
|
var opt string
|
||||||
for len(opts) > 0 {
|
for len(opts) > 0 {
|
||||||
opt, opts = head(opts, ",")
|
opt, opts = head(opts, ",")
|
||||||
|
|
||||||
if k, v := head(opt, "="); k == "default" {
|
k, v := head(opt, "=")
|
||||||
|
switch k {
|
||||||
|
case "default":
|
||||||
setOpt.isDefaultExists = true
|
setOpt.isDefaultExists = true
|
||||||
setOpt.defaultValue = v
|
setOpt.defaultValue = v
|
||||||
|
|
||||||
@ -171,7 +171,7 @@ func tryToSetValue(value reflect.Value, field reflect.StructField, setter setter
|
|||||||
setOpt.defaultValue = strings.ReplaceAll(v, ";", ",")
|
setOpt.defaultValue = strings.ReplaceAll(v, ";", ",")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if k, v = head(opt, "="); k == "parser" {
|
case "parser":
|
||||||
setOpt.parser = v
|
setOpt.parser = v
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user