我正在尝试规范来自多个来源的数据。这些来源之一就是ID为空的JSON。
type Entry struct {
ID *int // Can be null
}
Go用来处理可为空的ID(数字0可能是有效ID)的惯用方式是什么?我在我认为的三个选择之间感到困惑。
我是否通过传递可能为零的指针进行归一化?
type NormalizedEntry struct {
ID *int
}
我是否添加单独的HasID属性?
type NormalizedEntry struct {
HasID bool
ID int
}
我是否传递-1而不是0来表示“零值”? (例如,如果未找到值,strings.Index如何返回-1)
type NormalizedEntry struct {
ID int
}
或者还有我还不知道的其他更好的方法吗?