En cas d'erreur, j'ai essayé de renvoyer nil
, ce qui génère l'erreur:
cannot use nil as type time.Time in return argument
Quelle est la valeur zero
pour time.Time
?
L'appel d'un littéral time.Time
vide vide renverra la date zéro de Go. Ainsi, pour la déclaration d'impression suivante:
fmt.Println(time.Time{})
La sortie est:
0001-01-01 00:00:00 +0000 UTC
Par souci d'exhaustivité, le documentation officielle indique explicitement:
La valeur zéro du type Heure est le 1er janvier de l'année 1, 00: 00: 00.000000000 UTC.
Vous devez utiliser la fonction Time.IsZero () à la place:
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.
La valeur zéro pour time.Time est 0001-01-01 00:00:00 +0000 UTC
Voir http://play.golang.org/p/vTidOlmb9P