Go中的time.Time的“零”值是多少?

时间:2014-04-14 04:29:54

标签: time go null

在错误情况下,我尝试返回nil,这会引发错误:

cannot use nil as type time.Time in return argument

zero的{​​{1}}值是多少?

3 个答案:

答案 0 :(得分:230)

您应该使用Time.IsZero()函数:

func (Time) IsZero

func (t Time) IsZero() bool
IsZero reports whether t represents the zero time instant, January 1, year 1, 00:00:00 UTC.

答案 1 :(得分:110)

调用空time.Time结构文字将返回Go的零日期。因此,对于以下打印声明:

fmt.Println(time.Time{})

输出结果为:

0001-01-01 00:00:00 +0000 UTC

为了完整起见,official documentation明确指出:

  

Time类型的零值是1月1日,第1年00:00:00.0000000000 UTC。

答案 2 :(得分:2)

time.Time的零值为0001-01-01 00:00:00 +0000 UTC请参阅http://play.golang.org/p/vTidOlmb9P