¿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.

Respuestas a la pregunta(3)

Su respuesta a la pregunta