mirror of
https://github.com/gin-gonic/gin.git
synced 2026-06-12 16:48:19 +08:00
Merge ffc608216ae1962fff0132286d40fb9cec0c2646 into d75fcd4c9ab260e5225de590f1f0f8c0e0e12d11
This commit is contained in:
commit
b1a8839643
@ -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