From 2f4925e017f020909c061c3feb8ba54a0c5d002c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B4=BE=E4=B8=80=E9=A5=BC?= Date: Mon, 7 Jul 2025 11:15:10 +0800 Subject: [PATCH] A little optimization for filed.ValueOf (#7499) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 贾一饼 --- schema/field.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/schema/field.go b/schema/field.go index ff4aa7dd..72e4b42b 100644 --- a/schema/field.go +++ b/schema/field.go @@ -455,7 +455,7 @@ func (field *Field) setupValuerAndSetter() { // ValueOf returns field's value and if it is zero fieldIndex := field.StructField.Index[0] switch { - case len(field.StructField.Index) == 1 && fieldIndex > 0: + case len(field.StructField.Index) == 1 && fieldIndex >= 0: field.ValueOf = func(ctx context.Context, value reflect.Value) (interface{}, bool) { fieldValue := reflect.Indirect(value).FieldByName(field.Name) return fieldValue.Interface(), fieldValue.IsZero() @@ -504,7 +504,7 @@ func (field *Field) setupValuerAndSetter() { // ReflectValueOf returns field's reflect value switch { - case len(field.StructField.Index) == 1 && fieldIndex > 0: + case len(field.StructField.Index) == 1 && fieldIndex >= 0: field.ReflectValueOf = func(ctx context.Context, value reflect.Value) reflect.Value { return reflect.Indirect(value).Field(fieldIndex) }