From 8591eb00fbaca2df78ba1fcf303ddd6060e1365c Mon Sep 17 00:00:00 2001 From: demoManito <1430482733@qq.com> Date: Thu, 8 Sep 2022 12:10:19 +0800 Subject: [PATCH] fix --- scan.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scan.go b/scan.go index def63c17..df5a3714 100644 --- a/scan.go +++ b/scan.go @@ -248,11 +248,13 @@ func Scan(rows Rows, db *DB, mode ScanMode) { if !update || reflectValue.Len() == 0 { update = false - sliceCap := reflectValue.Cap() - if sliceCap <= 0 { - sliceCap = 20 + // if the slice cap is externally initialized, the externally initialized slice is directly used here + if reflectValue.Cap() == 0 { + db.Statement.ReflectValue.Set(reflect.MakeSlice(reflectValue.Type(), 0, 20)) + } else { + reflectValue.SetLen(0) + db.Statement.ReflectValue.Set(reflectValue) } - db.Statement.ReflectValue.Set(reflect.MakeSlice(reflectValue.Type(), 0, sliceCap)) } for initialized || rows.Next() {