internal/lib/reflect: Value.SetZero

This commit is contained in:
visualfc
2024-11-14 10:25:23 +08:00
parent 15a6c779b8
commit 792716eefc

View File

@@ -908,7 +908,6 @@ func (v Value) IsZero() bool {
// SetZero sets v to be the zero value of v's type.
// It panics if CanSet returns false.
func (v Value) SetZero() {
/*
v.mustBeAssignable()
switch v.kind() {
case Bool:
@@ -946,7 +945,7 @@ func (v Value) SetZero() {
case String:
*(*string)(v.ptr) = ""
case Slice:
*(*unsafeheader.Slice)(v.ptr) = unsafeheader.Slice{}
*(*unsafeheaderSlice)(v.ptr) = unsafeheaderSlice{}
case Interface:
*(*[2]unsafe.Pointer)(v.ptr) = [2]unsafe.Pointer{}
case Chan, Func, Map, Pointer, UnsafePointer:
@@ -958,8 +957,6 @@ func (v Value) SetZero() {
// as a default value doesn't makes sense here.
panic(&ValueError{"reflect.Value.SetZero", v.Kind()})
}
*/
panic("todo: reflect.Value.SetZero")
}
// Kind returns v's Kind.