支持对直接声明的结构体指针反射填充数据

支持类似这样的操作:
func userByID(id int)(user *User,err error){
    err = db.Find(&user,id).Error
    return
}
This commit is contained in:
icoder528 2017-07-26 15:58:13 +08:00 committed by GitHub
parent 5b8c0dd6b9
commit de4d189fb7

View File

@ -130,6 +130,9 @@ func Expr(expression string, args ...interface{}) *expr {
func indirect(reflectValue reflect.Value) reflect.Value {
for reflectValue.Kind() == reflect.Ptr {
if reflectValue.IsNil() && reflectValue.CanSet() {
reflectValue.Set(reflect.New(reflectValue.Type().Elem()))
}
reflectValue = reflectValue.Elem()
}
return reflectValue