测试time.Time上的零值的最简洁方法

huangapple go评论96阅读模式
英文:

The most concise way to test zero on time.Time

问题

我有一个结构体,其中一个字段可能没有设置time.Time值。在测试是否为空时,我不能使用nil或0。time.Unix(0,0)也不一样。我想到了这个解决方案:

var emptyTime time.Time
if thing.time == emptyTime {
    ...
}

但我希望有一个可以节省一行/临时变量的解决方案。

英文:

I have a struct that may not set a time.Time value on one of its fields. When testing for nullity, I can't use either nil or 0. time.Unix(0,0) is also not the same. I came up with this:

var emptyTime time.Time
if thing.time == emptyTime {
    ...
}

But I'd like a solution that saves me a line / temp variable

答案1

得分: 9

使用IsZero():

if thing.time.IsZero() {

}
英文:

Use IsZero() :

if thing.time.IsZero() {

}

答案2

得分: -1

如果thing.time == time.Time{} {
...
}

英文:
if thing.time == time.Time{} {
        ...
}

huangapple
  • 本文由 发表于 2013年6月22日 00:31:26
  • 转载请务必保留本文链接:https://go.coder-hub.com/17240122.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定