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