重置mgo结构中的time.Time

时间:2014-01-04 15:53:57

标签: go mgo

简化结构:

type User struct {
    ResetToken     string        `bson:"resettoken,omitempty" json:"resettoken"`
    ResetSent      time.Time     `bson:"resetsent,omitempty" json:"resetsent"`
}

现在成功(密码)重置它应该设置ResetToken =“”和 将ResetSent设置为“未初始化”又名为0或初始值或为空,您可以将其命名。

在字符串的情况下,它用“”和“,omitempty”完成 但是我如何处理time.Time?

1 个答案:

答案 0 :(得分:2)

时间零点为time.Time{},您可以使用time.IsZero(t)检查它是否为零。所以,像:

user.ResetSent = time.Time{}

如果你真的需要它omitempty,你可以使用*time.Time,所以如果没有,它会留空。

更新:    Gustavo的评论是正确的,omitempty按预期用于零值时间,没有指针。