錯誤狀態,我試圖返回nil
,這引發錯誤:什麼是時間的「零」值?
cannot use nil as type time.Time in return argument
什麼是time.Time
的zero
價值?
錯誤狀態,我試圖返回nil
,這引發錯誤:什麼是時間的「零」值?
cannot use nil as type time.Time in return argument
什麼是time.Time
的zero
價值?
調用一個空的time.Time
結構文字將返回Go的零日期。因此,下面的打印語句:
fmt.Println(time.Time{})
輸出是:
0001-01-01 00:00:00 +0000 UTC
爲了完整起見,official documentation明確規定:
The zero value of type Time is January 1, year 1, 00:00:00.000000000 UTC.
「傳遞任何參數」使它聽起來像一個函數調用。這是一個沒有指定字段的結構字面值。 X {}是任何X的struct X的零值。 –
@RussCox我不認爲這是真的。在我的情況下,我有一段時間。在我的結構中有'omitempty'屬性的時間。如果我沒有設置該值,它會自動設置爲0001-01-01 00:00:00 + 0000 UTC,而不是被忽略。 –
@GauravOjha請參閱[Golang JSON omitempty With time.Time Field](http://stackoverflow.com/questions/32643815/golang-json-omitempty-with-time-time-field/32646035#32646035)。 – icza
時間的零值。時間爲0001-01-01 00:00:00 +0000 UTC
請參閱http://play.golang.org/p/vTidOlmb9P
Y您應該使用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.
這應該是被接受的答案。 –
事實上,如果比較給定的時間值是否爲零,這實際上應該使用什麼。 –
而且您可以使用'IsZero()'來檢測零時間。 – Matt