yjp před 6 měsíci
rodič
revize
59f6fbc69a
1 změnil soubory, kde provedl 3 přidání a 3 odebrání
  1. 3 3
      reflectutils/value.go

+ 3 - 3
reflectutils/value.go

@@ -354,20 +354,20 @@ func ToFloat64(data any) (float64, error) {
 	}
 }
 
-func Zero[T any]() any {
+func Zero[T any]() T {
 	var zeroAny T
 
 	zeroValue := reflect.New(reflect.TypeOf(zeroAny)).Elem()
 	if zeroValue.Kind() != reflect.Pointer {
 		zero(&zeroValue)
-		return zeroValue.Interface()
+		return zeroValue.Interface().(T)
 	}
 
 	zeroValue.Set(reflect.New(zeroValue.Type().Elem()))
 	elemValue := PointerValueElem(zeroValue)
 	zero(&elemValue)
 
-	return zeroValue.Interface()
+	return zeroValue.Interface().(T)
 }
 
 func ZeroValue(v reflect.Value) reflect.Value {