func isZero(v interface{}) bool {
return reflect.DeepEqual(v, reflect.Zero(reflect.TypeOf(v)).Interface())
}
reflect.DeepEqual() is a function in the reflect package that checks whether values of interface types are deeply equal.
In the example, this function is used to compare whether a given structure type v is equal to the zero value of its type.
The reflect.Zero() function returns the zero value of a given type.
Here I call reflect.TypeOf() function to get the type of given variable and pass it as parameter to reflect.Zero() function.
Finally, you can check whether a given structure type v is null by converting the zero value of the type to an interface{} type and passing it to the reflect.DeepEqual() function for comparison. If all fields of v have zero values, they are equal to the zero value of the type, so true is returned. Otherwise, return false.