Wat is de waarde `nul` voor time.Time in Go?

In een foutconditie probeerde ik nilte retourneren, wat de fout veroorzaakt:

cannot use nil as type time.Time in return argument

Wat is de zerowaarde voor time.Time?


Antwoord 1, autoriteit 100%

U moet in plaats daarvan de functie Time.IsZero() gebruiken:

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.

Antwoord 2, autoriteit 60%

Het aanroepen van een lege time.Timeletterlijke struct zal de nuldatum van Go retourneren. Dus voor het volgende printstatement:

fmt.Println(time.Time{})

De uitvoer is:

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

Voor de volledigheid vermeldt de officiële documentatieexpliciet:

De nulwaarde van het type Tijd is 1 januari, 1 jaar, 00:00:00.000000000 UTC.


Antwoord 3, autoriteit 2%

De nulwaarde voor tijd. Tijd is 0001-01-01 00:00:00 +0000 UTCZie http://play.golang.org/p/vTidOlmb9P

Other episodes