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.

questionAnswers(3)

yourAnswerToTheQuestion