Como reconhecer o valor nulo e o campo não especificado ao desfazer a distribuição no Go?
Gostaria de saber se é possível diferenciar um valor nulo e um valor de campo não especificado.
Aqui está um exemplo:
var jsonBlob = []byte(`[
{"Name": "A", "Description": "Monotremata"},
{"Name": "B"},
{"Name": "C", "Description": ""}
]`)
type Category struct {
Name string
Description string
}
var categories []Category
err := json.Unmarshal(jsonBlob, &categories)
if err != nil {
fmt.Println("error:", err)
}
fmt.Printf("%+v", categories)
Também disponível aqui:https://play.golang.org/p/NKObQB5j4O
Resultado:
[{Name:A Description:Monotremata} {Name:B Description:} {Name:C Description:}]
Portanto, neste exemplo, é possível diferenciar a descrição da categoria B da categoria C?
Eu só quero ser capaz de diferenciá-los para ter um comportamento diferente no programa.