¿Cómo saber si una variable de tipo arbitrario es cero en Golang?
Porque no todos los tipos son comparables, p. una rebanada. Entonces no podemos hacer esto
var v ArbitraryType
v == reflect.Zero(reflect.TypeOf(v)).Interface()
Editar - Solución reflect.DeepEqual
var v ArbitratyType
zero := reflect.Zero(reflect.TypeOf(v)).Interface()
isZero := reflect.DeepEqual(v, zero)
Ir documentación sobrereflejar Profundo Igual
Pruebas de DeepEqual para la igualdad profunda. Utiliza la igualdad normal == siempre que sea posible, pero escaneará elementos de matrices, sectores, mapas y campos de estructuras.