type ServiceStatistics struct {
ID int `xorm:"pk autoincr 'id'"`
Date string `xorm:"date"`
Result []*global.NameValue `xorm:"result"`
Xss int64 `xorm:"xss"`
Xxe int64 `xorm:"xxe"`
Phantasm int64 `xorm:"phantasm"`
Upload int64 `xorm:"upload"`
BruteForce int64 `xorm:"brute_force"`
Ssrf int64 `xorm:"ssrf"`
Jsonp int64 `xorm:"jsonp"`
Sqldet int64 `xorm:"sqldet"`
CrlfInjection int64 `xorm:"crlf_injection"`
CmdInjection int64 `xorm:"cmd_injection"`
Dirscan int64 `xorm:"dirscan"`
Baseline int64 `xorm:"baseline"`
Redirect int64 `xorm:"redirect"`
PathTraversal int64 `xorm:"path_traversal"`
}
var app = ServiceStatistics{}
reflectType := reflect.TypeOf(app)
reflectValue := reflect.ValueOf(&app)
for i := 0; i < reflectType.NumField(); i++ {
for k, l := range list {
logs.Info(k)
logs.Info(reflectType.Field(i).Tag.Get("xorm"))
if k == reflectType.Field(i).Tag.Get("xorm") {
logs.Info(reflectValue.Elem().Field(i).CanSet())
reflectValue.Elem().Field(i).SetInt(l)
}
}
}
set方法 需和结构体的类型一致