Como saber se uma variável do tipo arbitrário é Zero em Golang?
Como nem todos os tipos são comparáveis, p. uma fatia. Então não podemos fazer isso
var v ArbitraryType
v == reflect.Zero(reflect.TypeOf(v)).Interface()
Editar - Solução reflect.DeepEqual
var v ArbitratyType
zero := reflect.Zero(reflect.TypeOf(v)).Interface()
isZero := reflect.DeepEqual(v, zero)
Acesse a documentação sobrereflect.DeepEqual
Testes DeepEqual para igualdade profunda. Ele usa igualdade == normal sempre que possível, mas varrerá elementos de matrizes, fatias, mapas e campos de estruturas.