Struct Golang-0不为空

Struct Golang-0不为空,struct,go,Struct,Go,我正在将值传递给一个结构,其中的值具有ommitempty Offset uint64'json:“Offset,省略empty” 但是,当我传递0作为offset的值时,它也被忽略 我是否可以以某种方式将0声明为未定义为null的值?用于序列化的结构通常使用指针来指示可为null的字段。它可以使使用该结构的工作变得更加繁琐,但它的优点是可以区分nil和0 type T struct { Offset *uint64 `json:"offset,omitempty"` } 用零指针 t

我正在将值传递给一个结构,其中的值具有
ommitempty

Offset uint64'json:“Offset,省略empty”

但是,当我传递0作为offset的值时,它也被忽略


我是否可以以某种方式将0声明为未定义为null的值?

用于序列化的结构通常使用指针来指示可为null的字段。它可以使使用该结构的工作变得更加繁琐,但它的优点是可以区分
nil
0

type T struct {
    Offset *uint64 `json:"offset,omitempty"`
}
用零指针

t := T{}
// marshals to "{}"
在分配了一个零值之后

t.Offset = new(uint64)
// marshals to `{"offset":0}`

序列化结构通常使用指针来指示可为空的字段。它可以使使用该结构的工作变得更加繁琐,但它的优点是可以区分
nil
0

type T struct {
    Offset *uint64 `json:"offset,omitempty"`
}
用零指针

t := T{}
// marshals to "{}"
在分配了一个零值之后

t.Offset = new(uint64)
// marshals to `{"offset":0}`

@Elliot Reeve你也应该看看这个@Elliot Reeve你也应该看看这个