From de4d189fb7b37bdfb7600425a53ead8a1e65bb66 Mon Sep 17 00:00:00 2001 From: icoder528 Date: Wed, 26 Jul 2017 15:58:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=AF=B9=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E5=A3=B0=E6=98=8E=E7=9A=84=E7=BB=93=E6=9E=84=E4=BD=93=E6=8C=87?= =?UTF-8?q?=E9=92=88=E5=8F=8D=E5=B0=84=E5=A1=AB=E5=85=85=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 支持类似这样的操作: func userByID(id int)(user *User,err error){ err = db.Find(&user,id).Error return } --- utils.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/utils.go b/utils.go index 97a3d175..3f6333d3 100644 --- a/utils.go +++ b/utils.go @@ -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